1. 程式人生 > 其它 >ZooKeeper 元件安裝配置

ZooKeeper 元件安裝配置

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狀態