zookeeper集群安装
zookeeper下载
http://apache.fayea.com/zookeeper/
安装
# mkdir -p /data/zookeeper/data/zk1
# mkdir -p /data/zookeeper/data/zk2
# mkdir -p /data/zookeeper/data/zk3
# mkdir -p /data/zookeeper/log/zk1
# mkdir -p /data/zookeeper/log/zk2
# mkdir -p /data/zookeeper/log/zk3
#新建myid文件
# echo "1" > /data/zookeeper/data/zk1/myid
# echo "2" > /data/zookeeper/data/zk2/myid
# echo "3" > /data/zookeeper/data/zk3/myid
# mkdir -p /data/zookeeper/zk1
# mkdir -p /data/zookeeper/zk2
# mkdir -p /data/zookeeper/zk3
# cd /data/zookeeper/zk1
# tar -xvf zookeeper-3.4.8.tar.gz
# cd /data/zookeeper/zk2
# tar -xvf zookeeper-3.4.8.tar.gz
# cd /data/zookeeper/zk3
# tar -xvf zookeeper-3.4.8.tar.gz
在zookeeper-3.4.8/conf新建配置文件 zoo.cfg clientPort端口分别为2181,2182,2183
#基本事件单元,以毫秒为单位。它用来指示心跳,最小的 session 过期时间为两倍的 tickTime.
tickTime=2000
#连接leader的等待的最长时间(秒)
initLimit=10
#标识 Leader 与 Follower 之间发送消息,请求和应答时间最长时间
syncLimit=5
#存储内存中数据库快照的位置
dataDir=/data/zookeeper/data/zk3
#存储事物日志的位置
dataLogDir=/data/zookeeper/log/zk3
#监听客户端连接的端口
clientPort=2183
#服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
#这个配置项的书写格式比较特殊,规则如下:
#server.N=YYY:A:B
#2181:用于客户端的连接
#2888:follower与leader通信
#3888:leader选举端口
server.1=172.16.1.13:2888:3888
server.2=172.16.1.13:2889:3889
server.3=172.16.1.13:2890:3890
# cd /data/zookeeper/zk1/zookeeper-3.4.8/bin
# ./zkServer.sh start
# ./zkServer.sh status
# cd /data/zookeeper/zk2/zookeeper-3.4.8/bin
# ./zkServer.sh start
# ./zkServer.sh status
# cd /data/zookeeper/zk3/zookeeper-3.4.8/bin
# ./zkServer.sh start
# ./zkServer.sh status
zookeeper命令行操作
常用命令
4.1. 启动ZK服务: ./zkServer.sh start
4.2. 查看ZK服务状态: ./zkServer.sh status
4.3 停止ZK服务: ./zkServer.sh stop
4.4. 重启ZK服务: ./zkServer.sh restart
4.5 连接服务器 ./zkCli.sh -server 127.0.0.1:2181
4.6 查看根目录 ls /
ls2 / 查看当前节点数据并能看到更新次数等数据
4.7 创建 testnode节点,关联字符串"zz" create /zk/testnode"zz"
4.8 查看节点内容 get/zk/testnode
4.9 设置节点内容 set/zk/testnode abc
4.0 删除节点 delete /zk/testnode
ZooKeeper 常用四字命令:
ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令
1. 可以通过命令:echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
2. 使用echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
3. echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点。
4. echo kill | nc 127.0.0.1 2181 ,关掉server
5. echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息。
6. echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
7. echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
8. echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
9. echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息。
10. echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
11. echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。