Zookeeper是一個分布式協調服務;就是為使用者的分布式應用程式提供協調服務
A、zookeeper是為别的分布式程式服務的
B、Zookeeper本身就是一個分布式程式(隻要有半數以上節點存活,zk就能正常服務)
C、Zookeeper所提供的服務涵蓋:主從協調、伺服器節點動态上下線、統一配置管理、分布式共享鎖、統一名稱服務……
D、雖然說可以提供各種服務,但是zookeeper在底層其實隻提供了兩個功能:
管理(存儲,讀取)使用者程式送出的資料;
并為使用者程式提供資料節點監聽服務;
Zookeeper叢集的角色: Leader 和 follower (Observer)
隻要叢集中有半數以上節點存活,叢集就能提供服務
半數機制:叢集中半數以上機器存活,叢集可用。
zookeeper适合裝在奇數台機器上!!!
3. 安裝
安裝到3台虛拟機上
安裝好JDK
上傳用工具。
su – hadoop(切換到hadoop使用者)
tar -zxvf zookeeper-3.4.5.tar.gz(解壓)
mv zookeeper-3.4.5 zookeeper(重命名檔案夾zookeeper-3.4.5為zookeeper)
1、su – root(切換使用者到root)
2、vi /etc/profile(修改檔案)
3、添加内容:
export ZOOKEEPER_HOME=/home/hadoop/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
4、重新編譯檔案:
source /etc/profile
5、注意:3台zookeeper都需要修改
6、修改完成後切換回hadoop使用者:
su - hadoop
1.1.6. 修改配置檔案
1、用hadoop使用者操作
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
2、vi zoo.cfg
dataDir=/home/hadoop/zookeeper/data
dataLogDir=/home/hadoop/zookeeper/log
server.1=slave1:2888:3888 (主機名, 心跳端口、資料端口)
server.2=slave2:2888:3888
server.3=slave3:2888:3888
4、建立檔案夾:
cd /home/hadoop/zookeeper/
mkdir -m 755 data
mkdir -m 755 log
5、在data檔案夾下建立myid檔案,myid的檔案内容為:
cd data
vi myid
添加内容:1
scp -r /home/hadoop/zookeeper hadoop@slave2:/home/hadoop/
scp -r /home/hadoop/zookeeper hadoop@slave3:/home/hadoop/
到slave2上:修改myid為:2
到slave3上:修改myid為:3
zkServer.sh start
1、 jps(檢視程序)
2、 zkServer.sh status(檢視叢集狀态,主從資訊)
本文轉自yushiwh 51CTO部落格,原文連結:http://blog.51cto.com/yushiwh/1907508,如需轉載請自行聯系原作者