Zookeeper在Debian上的集群扩展策略
openjdk-11-jdk
或openjdk-8-jdk
)和Zookeeper(建议与现有集群版本一致),并创建数据目录(/var/lib/zookeeper/data
)和日志目录(/var/log/zookeeper
)。Mode: leader
或Mode: follower
),无节点故障或数据同步问题。zoo.cfg
文件复制到新节点的Zookeeper配置目录(如/opt/apache-zookeeper-3.9.2/conf/
),修改server.x
配置项,添加新节点信息。格式为:server.<节点ID>=<新节点IP>:2888:3888
(2888为Follower与Leader通信端口,3888为Leader选举端口)。dataDir
目录下创建myid
文件,写入唯一节点ID(如新节点为第4台,则写入4
)。确保myid
内容与zoo.cfg
中的server.x
编号一致。zkServer.sh start
),此时节点会以Observer模式加入集群(默认不参与投票,仅同步数据);reconfig
命令,将新节点添加为Follower。例如:echo "add server.4=192.168.1.4:2888:3888" | zkCli.sh -server 192.168.1.1:2181
③ 验证新节点状态:通过zkServer.sh status
命令查看新节点模式是否变为follower
,或通过echo stat | nc localhost 2181
命令确认集群成员列表。zoo.cfg
中,对应server.x
行添加peerType=observer
,例如:server.4=192.168.1.4:2888:3888:observer
;reconfig
命令添加Observer:echo "add server.4=192.168.1.4:2888:3888:observer" | zkCli.sh -server 192.168.1.1:2181
Observer节点适合部署在异地机房,实现读请求就近转发,降低延迟。zkServer.sh status
,确认模式为follower
(或observer
);echo mntr | nc localhost 2181
,检查zk_server_state
和zk_followers
/zk_observers
列表,确保新节点已加入;