Zookeeper安装部署调试命令
ZooKeeper 常用四字命令:
下载地址:
http://www.apache.org/dyn/closer.cgi/zookeeper/
我选用清华的镜像https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz 解压:
tar -zxvf zookeeper-3.4.9.tar.gz copy到任意地点
cp -r ./zookeeper-3.4.9 /usr/zookeeper 修改配置文件
cd /usr/zookeeper/conf
mv ./zoo_sample.cfg ./zoo.cfg
vi ./zoo.cfg
单机模式tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
分布式tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/zookeeper/data
dataLogDir=/usr/zookeeper/data/datalog
clientPort=2181
server.1=host1:2888:3888
server.2=host2:2888:3888
server.3=host3:2888:3888
每台机器的dataDir目录下要建立一个文件myid,内容和配置一样是数字就行
启动
zkServer.sh start
查看启动状态
zkServer.sh status
正常情况
ZooKeeper JMX enabled by default
Using config: /usr/zookeeper/bin/…/conf/zoo.cfg
Mode: follower
不正常情况Error contacting service. It is probably notrunning.
测试zk
$echo ruok |nc master 2181
imok
$echo srvr|nc master 2181
Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4
如果没有nc命令的话,yum -y install 一下就可以了
如果不行可以参考
这哥们挺坎坷的
调试方法:
tail -500f $dataLogDir/zookeeper.out
或者以输出日志方式启动
zkServer.sh start-foreground
常见原因
1.
编辑zoo.cfg配置文件时,指定了log的输出目录,但是却未创建。
dataLogDir=/usr/zookeeper/data/datalog
因此需要按照里面指定的目录进行创建。
mkdir /usr/zookeeper/data/datalog
2.
最后检查配置zoo.cfg配置发现是该节点的主机名写错了
先停止zookeeper服务,逐一的修改节点上zoo.cfg配置文件,在逐一的启动
zkServer.sh stop
vi /usr/zookeeper/conf/zoo.cfg
PS: zk类的安装搭建过程中, 如果报错, 一定要把status中的错误贴出来, 其它的信息不容易找到答案.
Caused by: java.lang.IllegalArgumentException: ./zookeeper/myid file is missing
myid文件放错位置或者没有
mkdir -p /usr/zookeeper/data
vi /usr/zookeeper/data/myid
ZooKeeper 常用四字命令:
ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令
- echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
- echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
- echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点。
- echo kill | nc 127.0.0.1 2181 ,关掉server
- echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息。
- echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
- echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
- echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
- echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息。
- echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
- echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。
安装配置官网地址http://zookeeper.apache.org/doc/r3.4.9/zookeeperStarted.html
好文章http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/
Zookeeper常用命令