dynamic - ZooKeeper - adding peers dynamically? -
i'm new zookeeper. need.
i've network of peers.
at
t=t_1 -> [peer-1 (leader), peer-2]
peer-1 master , clients connect node.at
t=t_2 -> [peer-1 (leader), peer-2, peer-3]
@ later time peer-3 joins group. possible add peer-3 list of zookeeper servers "dynamically" ( i.e., without restarting zookeeper on peer-1 ) ?at
t=t_3 -> [peer-3 (leader), peer-4]
after while both peer-1 , peer-2 leave group (e.g., die or switched off.) assuming there way dynamically add peer-3 , peer-4 group peer-3 becomes leader , client requests send peer-3.
are there other options can use apart using zookeeper this.
thanks.
at moment, can't dynamically change configuration of zookeeper cluster without restarting. there open issue fix this, zookeeper-107. paper describing cluster membership algorithm quite interesting, , can found here.
you can change configuration of cluster restarting server nodes 1 @ time. example, if cluster has servers a,b,c, , want replace server c d, can like,
- bring down c
- bring d, it's peer list a,b,d
- take down b
- change b's peer list a,b,d
- bring b
- take down change a's peer list a,b,d
- bring a
- change client configuration of clients point a,b,d
at t=t_1, have cluster 2 zookeeper nodes. quite brittle, if either node goes down, not able establish quorum (floor(n / 2) + 1), , cluster unavailable. zookeeper clusters odd numbers.
i'm not sure trying when say,
peer-3 becomes leader , client requests send peer-3.
you can't specify node in zookeeper cluster leader, nodes elect leader, , leadership change nodes go , down. well, clients typically don't connect leader, clients given list of machines in cluster, , connect randomly one, reconnecting if server connected goes down. can set leaderserves option specify leader not server client connections.
Comments
Post a Comment