1.集羣規劃
在hadoop1、hadoop2和hadoop3三個節點上部署Zookeeper。
2.解壓安裝
(1)解壓zookeeper安裝包到/opt/module/目錄下
tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
(2)在/opt/module/zookeeper-3.4.10/這個目錄下創建zkData
mkdir -p zkData
(3)重命名/opt/module/zookeeper-3.4.10/conf這個目錄下的zoo_sample.cfg爲zoo.cfg
mv zoo_sample.cfg zoo.cfg
3.配置zoo.cfg文件
(1)具體配置
vi /opt/module/zookeeper-3.4.10/conf/zoo.cfg
修改內容:
dataDir=/opt/module/zookeeper-3.4.10/zkData
增加如下配置
#######################cluster##########################
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
(2)配置參數解讀
Server.A=B:C:D。
-
A是一個數字,表示這個是第幾號服務器;
-
B是這個服務器的ip地址;
-
C是這個服務器與集羣中的Leader服務器交換信息的端口;
-
D是萬一集羣中的Leader服務器掛了,需要一個端口來重新進行選舉,選出一個新的Leader,而這個端口就是用來執行選舉時服務器相互通信的端口。
集羣模式下配置一個文件myid,這個文件在dataDir目錄下,這個文件裏面有一個數據就是A的值,Zookeeper啓動時讀取此文件,拿到裏面的數據與zoo.cfg裏面的配置信息比較從而判斷到底是哪個server。
3.集羣操作
(1)在/opt/module/zookeeper-3.4.10/zkData目錄下創建一個myid的文件
touch myid
添加myid文件,注意一定要在linux裏面創建,在notepad++裏面很可能亂碼
(2)編輯myid文件
vi myid
在文件中添加與server對應的編號:如1
(3)拷貝配置好的zookeeper到其他機器上
並分別修改myid文件中內容爲2、3,並修改環境變量,和hadoop1一樣
scp -r /opt/module/zookeeper-3.4.10/ root@hadoop2:/opt/module/
scp -r /opt/module/zookeeper-3.4.10/ root@hadoop3:/opt/module/
(4)三臺都修改環境變量
vi /etc/profile
修改內容:
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
使環境變量生效:
source /etc/profile
(5)分別啓動zookeeper
hadoop1:
bin/zkServer.sh start
hadoop2
bin/zkServer.sh start
hadoop3
bin/zkServer.sh start
(5)查看狀態
bin/zkServer.sh status
bin/zkServer.sh status
bin/zkServer.sh status