1.集群規(guī)劃
在hadoop1、hadoop2和hadoop3三個(gè)節(jié)點(diǎn)上部署Zookeeper。
2.解壓安裝
(1)解壓zookeeper安裝包到/opt/module/目錄下
tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/module/
(2)在/opt/module/zookeeper-3.4.10/這個(gè)目錄下創(chuàng)建zkData
mkdir -p zkData
(3)重命名/opt/module/zookeeper-3.4.10/conf這個(gè)目錄下的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
修改內(nèi)容:
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)配置參數(shù)解讀
Server.A=B:C:D。
A是一個(gè)數(shù)字,表示這個(gè)是第幾號(hào)服務(wù)器;
B是這個(gè)服務(wù)器的ip地址;
C是這個(gè)服務(wù)器與集群中的Leader服務(wù)器交換信息的端口;
D是萬一集群中的Leader服務(wù)器掛了,需要一個(gè)端口來重新進(jìn)行選舉,選出一個(gè)新的Leader,而這個(gè)端口就是用來執(zhí)行選舉時(shí)服務(wù)器相互通信的端口。
????集群模式下配置一個(gè)文件myid,這個(gè)文件在dataDir目錄下,這個(gè)文件里面有一個(gè)數(shù)據(jù)就是A的值,Zookeeper啟動(dòng)時(shí)讀取此文件,拿到里面的數(shù)據(jù)與zoo.cfg里面的配置信息比較從而判斷到底是哪個(gè)server。
3.集群操作
(1)在/opt/module/zookeeper-3.4.10/zkData目錄下創(chuàng)建一個(gè)myid的文件
touch myid
添加myid文件,注意一定要在linux里面創(chuàng)建,在notepad++里面很可能亂碼
(2)編輯myid文件
vi myid
在文件中添加與server對(duì)應(yīng)的編號(hào):如1
(3)拷貝配置好的zookeeper到其他機(jī)器上
并分別修改myid文件中內(nèi)容為2、3,并修改環(huán)境變量,和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)三臺(tái)都修改環(huán)境變量
vi /etc/profile
修改內(nèi)容:
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export PATH=$PATH:$ZOOKEEPER_HOME/bin
使環(huán)境變量生效:
source /etc/profile
(5)分別啟動(dòng)zookeeper
hadoop1:
bin/zkServer.sh start
hadoop2
bin/zkServer.sh start
hadoop3
bin/zkServer.sh start
(5)查看狀態(tài)
bin/zkServer.sh status
bin/zkServer.sh status
bin/zkServer.sh status