zookeeper

ZooKeeper 集群与客户端操作

补充说明

zookeeper 提供分布式协调、配置管理和选主,Kafka(旧架构)、HBase 等依赖它。它用 ZNode 树存储数据,集群需要奇数个节点。

常用示例

zkServer.sh start
zkServer.sh status
zkServer.sh stop
zkCli.sh -server zk1:2181

zkCli.sh 交互:

ls /
create /app "value"
get /app
set /app "new"
stat /app
delete /app
ls -R /

四字命令:

echo ruok | nc zk1 2181
echo mntr | nc zk1 2181
echo srvr | nc zk1 2181

常见配置

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=10
syncLimit=5
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888

易错点与排错

相关命令

读完自测

合上页面,先回答,再展开对照。

  1. 节点无法加入集群,先核对什么?
  2. 集群失去多数派后为什么不可写?
  3. 生产环境使用四字命令要注意什么?
答案
  1. 该节点的 myid 是否与配置里的 server.N 对应。
  2. 失去多数派后集群不可写,应先恢复节点,不要盲目清空数据目录。
  3. 四字命令可能被禁用,按需开放并限制来源。