ZOOKEEPER 在集群中的作用

ZOOKEEPER 在集群中,是每台机器都安装zookeeper吗? 
客户端和zookeeper 是安装在同一台机器上吗? 
如果不是的话,客户端连接的那台zookeeper 挂掉了,客户端和zookeeper的连接就断掉了,那就认为client宕机了吗?

小象老师

赞同来自: Tomguluson

奇数台,一般是3,5,7台。 可以是不同的机器,另外客户端连接服务端时可以显示指定zookeeper服务器地址。 比如:sh zkCli.sh -server ip:port所有客户端的请求,都会转给zookeeper集群中的leader统一管理,如果其中一台zookeeper服务器挂了, leader服务器会把这台服务器上的事务重新分配到zookeeper集群其他机器上处理。  

C.Chen

赞同来自:

感觉不是很懂,我画个图
123.png
  集群1 和集群 2 是通过一个指定的IP来访问zookeeper集群吗? 然后再统一路由到对应的zookeeper集群的节点上吗?   你说的sh zkCli.sh -server ip:port  这种,这个 ip是哪个ip,zookeeper集群中的一个节点?还是什么? 这台ip挂了,就连不上zookeeper集群了吗?

小象老师

赞同来自:

java代码为例,构造zookeeper实例的时候,参数connectString 可以指定zookeeper服务器列表,用英文逗号分开的host:port字符串组成。 比如:192.168.199.1:2181,192.168.199.2:2181,192.168.199.3:2181 所以可以不用再用统一路由

要回复问题请先登录注册