導讀:ZK(Zookeeper)是Hadoop生態元件中不可缺少的一部分,所以小夥伴們清楚的瞭解ZK叢集的搭建有便於以後問題排查。
1、環境準備
作業系統:CentOS Linux release 7。4。1708 (Core)
Zookeeper版本:3。7。0
JDK版本:1。8。0_131,Java環境快速搭建
SSH免密登入,參見:SSH免密登入互通
伺服器列表:
主機IP
主機名稱
使用者名稱
記憶體需求
作用說明
xxx。xxx。xxx。128
test001
hadoop
8G
Master
xxx。xxx。xxx。129
test002
hadoop
8G
Standby
xxx。xxx。xxx。130
test003
hadoop
8G
Standby
2。 軟體下載
1、官網管理員手冊:https://zookeeper。apache。org/doc/r3。7。0/zookeeperAdmin。html
2、官網下載地址:https://mirrors。tuna。tsinghua。edu。cn/apache/zookeeper/zookeeper-3。7。0/apache-zookeeper-3。7。0-bin。tar。gz
3、檔案下載命令:
$wget https://mirrors。tuna。tsinghua。edu。cn/apache/zookeeper/zookeeper-3。7。0/apache-zookeeper-3。7。0-bin。tar。gz
4、建立相關資料夾,所有節點執行
mkdir -p /opt/app
chown -R hadoop:hadoop /opt/app
5、檔案解壓
tar -zxvf /opt/app/apache-zookeeper-3。7。0-bin。tar。gz/opt/app/zookeeper-3。7。0
6、資料夾重新命名
mv /opt/app/apache-zookeeper-3。7。0-bin
3、叢集檔案配置
#複製檔案
cp /opt/app/zookeeper-3。7。0/conf/zoo_sample。cfg /opt/app/zookeeper-3。7。0/conf/zoo。cfg
#配置叢集引數
vim /opt/app/zookeeper-3。7。0/conf/zoo。cfg
#生成叢集節點標識ID,只限制[1~255]
echo “1” > /opt/app/zookeeper-3。7。0/conf/myid
```
#client與server心跳超時時間(毫秒)
tickTime=2000
#主從同步之間初始連線時能容忍的最多心跳數
initLimit=10
#主從之間請求和應答之間能容忍的最多心跳數
syncLimit=5
#資料路徑
dataDir=/opt/app/zookeeper-3。7。0/tmp
#zookeeper客戶端埠
clientPort=2181
#格式說明,server。[1~255]=主機名:主從通訊埠:選舉埠
server。1=test001:2888:3888
server。2=test002:2888:3888
server。3=test003:2888:3888
```
#zookeeper檔案複製
scp -r /opt/app/zookeeper-3。7。0/ test002:/opt/app
scp -r /opt/app/zookeeper-3。7。0/ test003:/opt/app
#標識ID修改
ssh test002 “echo 2 > /opt/app/zookeeper-3。7。0/tmp/myid”
ssh test003 “echo 3 > /opt/app/zookeeper-3。7。0/tmp/myid”
4、叢集啟動
cd /opt/app/zookeeper-3。7。0/
。/bin/zkServer。sh start
5、叢集測試
cd /opt/app/zookeeper-3。7。0/
。/bin/zkCli。sh -server test001:2181
```輸出
[zk: test001:2181(CONNECTED) 0] ls /
[zookeeper]
```