【準(zhǔn)備】
1:3臺(tái)虛擬機(jī)(奇數(shù)臺(tái))
2:jdk安裝
3:免密碼登陸
【1】
上傳tar包到其中一臺(tái)虛擬機(jī)并解壓
tar -xzvf zookeeper.tar.gz
cp -r zookeeper /usr/locla
【2】
修改配置文件
mv zoo_sample.cfg zoo.cfg
1,修改數(shù)據(jù)存儲(chǔ)地址
2,添加server編號(hào)

zoo.cfg配置.png
修改數(shù)據(jù)存儲(chǔ)地址
添加server編號(hào)
1.tickTime:CS通信心跳時(shí)間
服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時(shí)間間隔,也就是每個(gè) tickTime 時(shí)間就會(huì)發(fā)送一個(gè)心跳。tickTime以毫秒為單位。
2.initLimit:LF初始通信時(shí)限
集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間初始連接時(shí)能容忍的最多心跳數(shù)(tickTime的數(shù)量)。
3.syncLimit:LF同步通信時(shí)限
集群中的follower服務(wù)器與leader服務(wù)器之間請(qǐng)求和應(yīng)答之間能容忍的最多心跳數(shù)(tickTime的數(shù)量)。
4.dataDir:數(shù)據(jù)文件目錄
Zookeeper保存數(shù)據(jù)的目錄,默認(rèn)情況下,Zookeeper將寫數(shù)據(jù)的日志文件也保存在這個(gè)目錄里。
5.clientPort:客戶端連接端口
客戶端連接 Zookeeper 服務(wù)器的端口,Zookeeper 會(huì)監(jiān)聽這個(gè)端口,接受客戶端的訪問請(qǐng)求。2181
【3】
添加所配置的數(shù)據(jù)存儲(chǔ)目錄data
mkdir /usr/local/zookeeper/data
cd data
//在data下創(chuàng)建一個(gè)myid文件
touch myid
//在myid文件中編寫此機(jī)器的編號(hào)(這個(gè)是server.1,則編號(hào)就是1)
vim myid (添加1)
這里myid的內(nèi)容與zoo.cfg中的配置對(duì)應(yīng)
server.1=hadoop01:2888:3888 id 1
server.2=hadoop01:2888:3888 id 2
server.3=hadoop01:2888:3888 id 3
![Uploading 2016-12-18_221745_687688.png . . .]
【4】
復(fù)制zookeeper目錄到其他兩天主機(jī)上
利用免密碼登陸復(fù)制文件
scp -r zookeeper root@hadoop02:/usr/local
scp -r zookeeper root@hadoop03:/usr/local
【5】
分別修改server2和server3機(jī)器目錄下、/usr/local/zookeeper/data的myid文件,將文件內(nèi)容分別該為server編號(hào)(2 , 3)
【6】
分別啟動(dòng)
./zkServer.sh start(開啟)
./zkServer.sh status(重啟) 重啟可以查看到它的角色狀態(tài)

server1.png

server2.png

server3.png
【7】
數(shù)據(jù)同步演示
在任意一臺(tái)機(jī)器上創(chuàng)建一個(gè)文件夾并寫入內(nèi)容,看看其他機(jī)器是否會(huì)同步相同的數(shù)據(jù)
啟動(dòng)客戶端
./zkCli.sh
查看根目錄結(jié)構(gòu)
ls /
在跟目錄下創(chuàng)建xiaojiang目錄,并將nangonghaiheng寫入
create /xiaojiang nangonghaiheng
ls /
get /xiaojiang

2016-12-18_223346.png
【附】語法

2016-12-18_224716.png