Zookeeper 集群安装与常用命令使用
服务器信息
node1 192.168.145.171
node2 192.168.145.172
node3 192.168.145.173
- 在三台机器上安装JDK
- 在linux 上新建一个目录存放 JDK和zookeeper
[root@node1 ~] mkdir /data
- 上传JDK和zookeeper
[root@node1 data]# ll -h
total 241M
-rw-r--r-- 1 root root 306M Aug 25 2016 jdk-8u171-linux-x64.tar.gz
-rw-r--r-- 1 root root 205M Aug 25 2016 hadoop-2.7.3.tar.gz
drwx------. 2 root root 16K Oct 31 10:46 lost+found
drwxr-xr-x 14 2002 2002 4.0K Mar 6 2019 zookeeper-3.4.14
-rw-r--r-- 1 root root 36M Apr 24 2019 zookeeper-3.4.14.tar.gz
[root@node1 data]#
- 新建一个java目录
mkdir /usr/local/java
cd /usr/local/software/
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/java/
- 修改环境变量
grep JAVA_HOME /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export JRE_HOME=/usr/local/java/jdk1.8.0_171/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
- 刷新配置文件,并且检查JDK是否安装成功
source /etc/profile
java -version
- 同理 ,其他机器上 如上 所示 安装JDK
- 安装 zookeeper
- 解压zookeeper
tar -zxvf zookeeper-3.4.12.tar.gz -C /usr/local/
- 配置zookeeper环境变量
grep ZK_HOME /etc/profile
export ZK_HOME=/usr/local/zookeeper-3.4.12
export PATH=$ZK_HOME/bin:$PATH
- 修改相应配置
cd /usr/local/zookeeper-3.4.12/conf/
cp zoo_sample.cgf zoo.cfg
dataDir=/usr/local/zookeeper-3.4.12/data
server.0=192.168.145.171:2888:3888
server.1=192.168.145.172:2888:3888
server.2=192.168.145.173:2888:3888
- 在zookeeper-3.4.12目录下创建data目录
mkdir data
- 新建myid
vi myid
#之后会产生一个新文件,直接在里面写 X 即可
#比如我配置的三个server,myid里面写的X就是server.X=ip:2888:3888 中ip所对应的X
server.0=192.168.192.171:2888:3888【192.168.192.128服务器上面的myid填写0】
server.1=192.168.192.172:2888:3888【192.168.192.129服务器上面的myid填写1】
server.2=192.168.192.173:2888:3888【192.168.192.130服务器上面的myid填写2】
- 三台机器 改完之后 分别刷新环境变量
source /etc/profile
- 分别启动三台服务器
zkServer.sh start
- 查看启动状态
zkServer.sh status
其实也可以查看启动过程
zkServer.sh start-foreground
PS:想要用客户端连接,需要把2181端口打开(防火墙)
4.ZK常用命令操作
- 常用服务命令
1. 启动ZK服务: sh bin/zkServer.sh start
2. 查看ZK服务状态: sh bin/zkServer.sh status
3. 停止ZK服务: sh bin/zkServer.sh stop
4. 重启ZK服务: sh bin/zkServer.sh restart
- 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 相关的路径。
网友评论