对Zookeeper的操作主要是对Zookeeper目录下的bin目录中的文件进行操作,bin目录中的文件列表如下:
-rwxr-xr-x 1 1000 1000 238 2月 20 2014 README.txt
-rwxr-xr-x 1 1000 1000 1.9K 2月 20 2014 zkCleanup.sh
-rwxr-xr-x 1 1000 1000 1.1K 2月 20 2014 zkCli.cmd
-rwxr-xr-x 1 1000 1000 1.5K 2月 20 2014 zkCli.sh
-rwxr-xr-x 1 1000 1000 1.4K 2月 20 2014 zkEnv.cmd
-rwxr-xr-x 1 1000 1000 2.7K 2月 20 2014 zkEnv.sh
-rwxr-xr-x 1 1000 1000 1.1K 2月 20 2014 zkServer.cmd
-rwxr-xr-x 1 1000 1000 5.7K 2月 20 2014 zkServer.sh
-rw-r–r-- 1 root root 29K 8月 21 16:47 zookeeper.out
1.启动Zookeeper
#进入zookeeper目录下的bin目录中启动zookeeper,需要每台服务器都手动此命令启动 /zookeeper-3.4.6/bin/zkServer.sh start
2.查看每台服务器Zookeeper的启动状态
#进入zookeeper目录的bin目录下 /zookeeper-3.4.6/bin/zkServer.sh status
3.Zookeeper的shell命令
3.1客户端连接
运行 zkCli.sh –server ip 进入命令行工具。
补充 :
zookeeper有三个默认端口(用户可以手动修改),作用分别为:
- 2181:对client端提供服务
- 3888:选举leader使用
- 2888:集群内机器通讯使用(Leader监听此端口)
格式:
/zookeeper-3.4.6/bin/zkCli.sh -server 要连接的服务器IP地址:对client端提供服务的端口号
示例:
#连接一台服务器 /zookeeper-3.4.6/bin/zkCli.sh -server 192.168.1.1:2181 #连接3台服务器 /zookeeper-3.4.6/bin/zkCli.sh -server 192.168.1.1:2181,192.168.1.2:2181,192.168.1.3:2181
3.2创建节点
格式
#创建节点的格式 create -s -e /createnode node4:1234 #-s :序列化 #-e :是临时节点,如果客户端消失就没有了 #/createnode :节点路径 #node4:1234 :节点内容
示例
#创建永久节点 create /createnode1 node1:1234 #创建永久序列化节点 create -s /createnode2 node1:1234 #创建临时节点 create -s /createnode3 demo #创建临时序列化节点 create -s -e /createnode4 node:12423
3.3读取节点
#读取节点的内容 get /spark #获取当前的路径 ls /spark #获取当前路径的详细信息 ls2 /spark
3.4更新(修改)节点内容
#修改节点内容格式: set path data #示例: set /spark node12:4321
3.5删除节点
# 删除节点格式: delete path #示例: # 如果 spark 下没有子目录就可以直接删除 delete /spark # 递归删除节点 rmr path 如果有子目录 rmr /spark
3.6设置节点的限制quota
# 设置节点大小或者长度的限制 setquota -n 2 /spark #节点大小 setquota -b 10 /hadoop #长度限制
备注: 如果当前显示的字节长度为 -1 ,代表当前的数据没有限制
3.7删除当前分配限额
delquota -n /spark delquota -b /hadoop
3.8查看当前限额
listquota /spark
3.9查看历史设置的命令
history
3.10Zookeeper 的监听 watch 机制
监听
# 指定监听目录 get /hadoop watch # 改变监听的目录 set /hadoop abcdefg # 拿到节点变化的通知 WatchedEvent state:SyncConnected type:NodeDataChanged path:/hadoop