Closed acherla closed 4 years ago
The root cause for this issue was a problem with Zookeeper syncing across the quorum. Some of the zk nodes appeared to not sync up with the leader for whatever reason in a docker swarm. I configured druid to connect to the first ZK node and it managed to properly pull up all other service paths.
To fix the problem I federated out the zk Quorum to its own docker stack and deployed it separately from the druid cluster.
Description: When hosting the druid router service within a docker swarm cluster and connecting it to my 3 node zookeeper quorum the router service is unable to discover any brokers on the druid/broker service path in zookeeper. Ive validated that the coordinator service is able to discover all services, however the router service is unable to identify the broker services or any service for that matter.
Ive triple checked that there is no firewall between the hosts, and I am able to telnet to both zookeeper, the brokers, and the coordinator from the router docker container within the swarm cluster on the appropriate ports.
Ive also validated that the coordinator correctly identifies the brokers and all other services, but the router service fails to identify the brokers. Its even stranger that the coordinator properly identifies the hosts but the router is unable to. See below coordinator/router endpoints for the cluster configuration they are posting.
/druid/coordinator/v1/cluster
{"coordinator":[{"host":"10.0.7.30","service":"druid/coordinator","plaintextPort":8081}],"overlord":[{"host":"10.0.7.30","service":"druid/coordinator","plaintextPort":8081}],"broker":[{"host":"10.0.7.32","service":"druid/broker","plaintextPort":8082}],"historical":[{"host":"10.0.7.41","service":"druid/historical","plaintextPort":8083},{"host":"10.0.7.42","service":"druid/historical","plaintextPort":8083}]}
/druid/router/v1/brokers
{"druid/broker":[]}
common.runtime.propertiesrouter runtime.properties
Affected Version
Version: 0.16.1
Description
Please include as much detailed information about the problem as possible.