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/
- 修改環(huán)境變量
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環(huán)境變量
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目錄下創(chuàng)建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】
- 三臺機器 改完之后 分別刷新環(huán)境變量
source /etc/profile
- 分別啟動三臺服務器
zkServer.sh start
- 查看啟動狀態(tài)
zkServer.sh status
其實也可以查看啟動過程
zkServer.sh start-foreground
PS:想要用客戶端連接,需要把2181端口打開(防火墻)
4.ZK常用命令操作
- 常用服務命令
1. 啟動ZK服務: sh bin/zkServer.sh start
2. 查看ZK服務狀態(tài): sh bin/zkServer.sh status
3. 停止ZK服務: sh bin/zkServer.sh stop
4. 重啟ZK服務: sh bin/zkServer.sh restart
- ZooKeeper 常用四字命令
ZooKeeper 支持某些特定的四字命令字母與其的交互龄糊。它們大多是查詢命令荠呐,用來獲取 ZooKeeper 服務的當前狀態(tài)及相關信息挥吵。用戶在客戶端可以通過 telnet 或 nc 向 ZooKeeper 提交相應的命令
1. 可以通過命令:echo stat|nc 127.0.0.1 2181 來查看哪個節(jié)點被選擇作為follower或者leader
2. 使用echo ruok|nc 127.0.0.1 2181 測試是否啟動了該Server,若回復imok表示已經啟動祭椰。
3. echo dump| nc 127.0.0.1 2181 ,列出未經處理的會話和臨時節(jié)點臭家。
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 ,輸出關于服務環(huán)境的詳細信息(區(qū)別于 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 相關的路徑带膜。