What's the difference between parameter druid.zk.paths.base & druid.discovery.curator.path?

Hi,

I have recently set up a Druid cluster with 1 node running coordinator and overload services, 2 nodes for middlemanger and historical services, 2 nodes running broker service and 3 nodes running Zookeeper. I have a question related to what should I configure for druid.zk.paths.base and druid.discovery.curator.path in common.runtime.properties file? what is the difference between these 2 parameters?

druid.zk.service.host={zk1, zk2, zk3}

druid.zk.paths.base=/druid

–Is this the absolute path where zookeeper_home located on zookeeper host? like the zk_home on zk1, zk2 and zk3?

druid.discovery.curator.path=/druid/discovery

–Is this a relate path to zk_home on zk1, zk2, zk3?

Do we need to set up druid.discovery.curator.path in a cluster with remote zookeeper?

Thanks

Hong

druid.zk.paths.base is like a chroot. All druid zk paths (other than curator service discovery) will be relative to druid.zk.paths.base. druid.discovery.curator.path is the path used for curator service discovery, and is not relative to druid.zk.paths.base. The idea is you might be using curator service discovery for a lot of other things other than Druid, and want to have them share a namespace.

Unless you have multiple Druid clusters all hanging off one ZK cluster, you don’t need to change either of these configs from the defaults.

Thanks for clarification.

Hong