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