稍微了解过zookeeper集群的会知道,搭建集群时配置文件zoo.cfg中会出现这样的配置

clientPort=2181
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889

第一个端口,clientPort就是zk服务端暴露出来供zk客户端连接的端口,之后zk客户端(ssh终端或者java代码客户端)发送命令到服务端都会经过这个端口

第二个端口,集群列表的最后一列,比如3888,这个就是集群之间进行领导者选举的端口,在集群刚启动或者集群奔溃恢复的时候,会进行leader选举,此时,集群中的各个节点会通过该端口交换各自的选票信息

第三个端口,集群列表的倒数第二列,比如2888,这个就是集群之间进行数据同步的端口,当领导者刚刚选举成功,follower需要同步leader的最新数据保持一致,或者进行写命令操作时,ZAB协议需要的数据交互,或者各节点之间保持心跳的ping命令交互。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐