4 ms·
The classic problem of ZooKeeper is the client and the server upon initial startup will DNS resolve and permanently cache the IP addresses of the ZK cluster. T
by ryanobjc 10y ago
The classic problem of ZooKeeper is the client and the server upon initial startup will DNS resolve and permanently cache the IP addresses of the ZK cluster. Thus any cluster migrations require you to restart _EVERYTHING_.
So running zookeeper in a dynamic environment becomes very risky. Aka AWS. Perhaps on GCE it's less dangerous, because the host migration is pretty good.
There are other operational issues people have noted above as well.
- eropple 10y agoYou're right in that Zookeeper can be a hassle in a dynamic environment, but in my experience Exhibitor largely removes that concern.
- rad_gruchalski 10y agoThen configure it using IP addresses. I've been using Zookeeper like this for 4 years in public EC2, swapping machines in and out and it always worked. What's the problem.
- ryanobjc 10y agoi think you do know the problem, which is not everyone has that set up. Yes, if you are cloud, and can roll with static IPs then great for you. Some people still have to be on-prem and reusing IPs isn't always an option.
- sciurus 10y agoHow is this an improvement over using DNS? When you swap in a new EC2 instance it has different IP addresses from the old instance. So now not only do you have to restart your other Zookeeper servers in the cluster, you have to update their configuration then restart them.
- curun1r 10y agoHe's probably using ENIs to decouple the IP address from the instance.
- neeleshs 10y agohttps://issues.apache.org/jira/plugins/servlet/mobile#issue/ZOOKEEPER-1506 https://issues.apache.org/jira/plugins/servlet/mobile#issue/...
- neilc 10y agoThis behavior should be fixed in Zk 3.4.7+ and 3.5.0+
- ttwwmm 10y agoWe run ZooKeeper (and Kafka) within Docker containers and were able to solve this problem with a patch to the client: https://issues.apache.org/jira/browse/ZOOKEEPER-2184 https://issues.apache.org/jira/browse/ZOOKEEPER-2184 You also need to disable the JVM's insane DNS-caching behavior (config change only).