ZooKeeper 元件安裝配置
阿新 • • 發佈:2022-04-10
ZooKeeper 元件安裝配置
下載和安裝 ZooKeeper
ZooKeeper最新的版本可以通過官網 http://hadoop.apache.org/zookeeper/來獲取,
安裝 ZooKeeper元件需要與 Hadoop環境適配。
注意,各節點的防火牆需要關閉,否則會出現連線問題。
- ZooKeeper的安裝包 zookeeper-3.4.8.tar.gz已放置在 Linux系統/opt/software目錄下
- 解壓安裝包到指定目標,在 Master節點執行如下命令
[root@master ~]# tar -zxvf /opt/software/zookeeper-3.4.8.tar.gz -C /usr/local/src [root@master ~]# mv /usr/local/src/zookeeper-3.4.8 /usr/local/src/zookeeper
ZooKeeper 的配置選項
Master 節點配置
- 在 ZooKeeper的安裝目錄下建立 data和 logs資料夾
[root@master ~]# cd /usr/local/src/zookeeper
[root@master zookeeper]# mkdir data && mkdir logs
- 在每個節點寫入該節點的標識編號,每個節點編號不同,master 節點寫入 1
(slave1節點寫入 2,slave2節點寫入 3;後面步驟有)[root@master zookeeper]# echo 1 > /usr/local/src/zookeeper/data/myid
- 修改配置檔案 zoo.cfg
[root@master zookeeper]# cp /usr/local/src/zookeeper/conf/zoo_sample.cfg /usr/local/src/zookeeper/conf/zoo.cfg [root@master zookeeper]# vi /usr/local/src/zookeeper/conf/zoo.cfg #修改 dataDir引數內容如下: dataDir=/usr/local/src/zookeeper/dat #在 zoo.cfg檔案末尾追加以下引數配置,表示三個 ZooKeeper節點的訪問埠號 server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888
- 修改 ZooKeeper安裝目錄的歸屬使用者為 hadoop使用者
[root@master zookeeper]# chown -R hadoop:hadoop /usr/local/src/zookeeper
Slave 節點配置
- 從 Master節點複製 ZooKeeper安裝目錄到兩個 Slave節點
[root@master ~] # cd ~
[root@master ~] # scp -r /usr/local/src/zookeeper slave1:/usr/local/src/
[root@master ~] # scp -r /usr/local/src/zookeeper slave2:/usr/local/src/
- 在 slave1和slave2節點上修改 zookeeper目錄的歸屬使用者為 hadoop使用者
[root@slave1 ~] # chown -R hadoop:hadoop /usr/local/src/zookeeper
[root@slave2 ~] # chown -R hadoop:hadoop /usr/local/src/zookeeper
- 在 slave1和slave2節點上配置該節點的 myid為 2
[root@slave1 ~] # echo 2 > /usr/local/src/zookeeper/data/myid
[root@slave2 ~] # echo 3 > /usr/local/src/zookeeper/data/myid
系統環境變數配置
- 在 master、slave1、slave2三個節點增加環境變數配置
vi /etc/profile
# 在檔案末尾追加
# set zookeeper environment
export ZOOKEEPER_HOME=/usr/local/src/zookeeper # ZooKeeper安裝目錄
export PATH=$PATH:$ZOOKEEPER_HOME/bin # ZooKeeper可執行程式目錄
啟動 ZooKeeper
啟動 ZooKeeper需要使用 Hadoop使用者進行操作
- 分別在 master、slave1、slave2 三個節點使用 zkServer.sh start 命令啟動 ZooKeeper
#master節點
[hadoop@master ~]su – hadoop
[hadoop@master ~]source /etc/profile
# ZooKeeper啟動
[hadoop@master ~] zkServer.sh start JMX enabled by default
Jsing. config:' /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
starting zookeeper . .STARTED
#slave1節點
[hadoop@slave1 ~] su – hadoop
[hadoop@slave1 ~] source /etc/profile
# ZooKeeper啟動
[hadoop@slave1 ~] zkServer.sh start
JMX enabled by default
Jsing. config:' /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
starting zookeeper . .STARTED
#slave2節點
[hadoop@slave2 ~] su – hadoop
[hadoop@slave2 ~] source /etc/profile
# ZooKeeper啟動
[hadoop@slave2 ~] zkServer.sh start
JMX enabled by default
Jsing. config:' /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
starting zookeeper . .STARTED
- 三個節點都啟動完成後,再統一檢視 ZooKeeper執行狀態
分別在 master、slave1、slave2 三個節點使用 zkServer.sh status 命令查ZooKeeper狀態。可以看到三個節點的狀態分別為 follower、leader、follower。三個節點會包括一個 leader和兩個 follower,每個節點地位均等,leader是根據 ZooKeeper內部演算法進行選舉,每個節點的具體狀態不固定
#master節點狀態
[hadoop@master ~]$ zkServer.sh status
JMX enabled by default
Using config: /usr/1oca1/src/zookeeper/bin/ ../conf/zoo.cfg
Mode: fo11ower # follower狀態
#slave1節點狀態
[hadoop@s1ave1 ~]$ zkServer.sh status
JMX enab1ed by default
Using config:' /usr/1oca1/src/zookeeper/bin/ . ./conf/zoo.cfg
Mode:1eader # leader狀態
#slave2節點狀態
[hadoop@s1ave2 ~]$ zkServer.sh status
JMX enabled by default
Using config:' /usr/1oca1/src/zookeeper/bin/ . ./conf/zoo.cfg
Mode: fo11ower # follower狀態