在 Debian 上,Zookeeper 常作为分布式协调底座,与 Kafka、Hadoop 等组件协同工作。下面给出基于 APT 的部署、关键配置、常见集成与验证步骤,以及常见故障排查要点。
一 安装与基础配置
sudo apt update && sudo apt install -y zookeeper zookeeperd/etc/zookeeper/conf/zoo.cfgdataDir=/var/lib/zookeeperclientPort=2181server.1=zk1:2888:3888、server.2=zk2:2888:3888、server.3=zk3:2888:3888echo "1" | sudo tee /var/lib/zookeeper/myidsudo systemctl start zookeeper && sudo systemctl enable zookeeperecho stat | nc localhost 2181(应返回 Zookeeper 状态信息)二 与常见服务的集成
Kafka(元数据与集群协调)
server.properties:zookeeper.connect=zk1:2181,zk2:2181,zk3:2181/opt/kafka/bin/kafka-topics.sh --list --zookeeper zk1:2181/opt/kafka/bin/kafka-topics.sh --zookeeper zk1:2181 --create --topic test --partitions 3 --replication-factor 3bootstrap.servers 直连 Kafka Broker,但部分元数据/管理操作仍依赖 Zookeeper(以所用版本为准)。Hadoop HA(HDFS 与 YARN 的自动故障转移)
core-site.xml:
<property><name>ha.zookeeper.quorum</name><value>zk1:2181,zk2:2181,zk3:2181</value></property>hdfs-site.xml(要点):
dfs.nameservices=myclusterdfs.ha.namenodes.mycluster=nn1,nn2dfs.namenode.shared.edits.dir=qjournal://jn1:8485;jn2:8485;jn3:8485/myclusterdfs.ha.automatic-failover.enabled=trueyarn-site.xml(要点):
yarn.resourcemanager.ha.enabled=trueyarn.resourcemanager.zk-address=zk1:2181,zk2:2181,zk3:2181其他常见集成
<dubbo:registry address="zookeeper://192.168.1.100:2181" />php-zookeeper 扩展进行会话/配置/选主等场景开发。三 验证与运维要点
sudo systemctl status zookeeperecho stat | nc zk1 2181(查看 Mode/Latency 等)/path/to/zookeeper/bin/zkCli.sh -server zk1:2181(ls / 观察根节点)--zookeeper 或 --bootstrap-server 列出/创建 Topic,确认连通与元数据读写正常hdfs haadmin -getServiceState nn1、yarn rmadmin -getServiceState rm1 检查 Active/Standby 状态;模拟故障切换验证自动恢复四 常见问题与排查
clientPort=2181 是否监听;myid 与 server.X 是否一致;防火墙/安全组是否放通 2181/2888/3888;/var/lib/zookeeper 权限是否正确N/2+1;检查 server.X 列表、网络分区、磁盘空间与日志报错ha.zookeeper.quorum 与 ZK ACL;确认 ZKFC 已启动且 SSH 免密配置正确;检查 dfs.ha.fencing.methods 与 JournalNode 状态kafka-topics.sh --zookeeper ... 校验元数据一致性;查看 Broker 与 ZK 日志;必要时滚动重启受影响的 Broker。