簡介
apache ZooKeeper是一個分布式的,開放源碼的分布式應用程序協調服務,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。
除了為Hadoop和Hbase提供協調服務外,ZooKeeper也被其他軟件采用作為其分布式狀態一致性的依賴,比如Kafka,又或者一些軟件項目中,也經常能見到ZooKeeper作為一致性協調服務存在。
ZooKeeper不論是大數據領域亦或是其他服務器開發領域,涉及到分布式狀態一致性的場景,總有它的身影存在。
安裝
ZooKeeper是一款分布式的集群化軟件,可以在多臺服務器上部署,并協同組成分布式集群一起工作。
1、首先,要確保已經完成集群化環境前置準備。
2、【node1上操作】下載ZooKeeper安裝包,并解壓
# 下載
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz# 確保如下目錄存在,不存在就創建
mkdir -p /expoort/server# 解壓
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /export/server
或者去阿里云鏡像阿里云開發者社區-云計算社區-阿里云官網下載zookeeper安裝包,隨后上傳解壓到/export/server中。
下面使用的是apache-zookeeper-3.7.2版本。
3、【node1上操作】創建軟鏈接
ln -s /export/server/apache-zookeeper-3.7.2-bin/ /export/server/zookeeper
4、【node1上操作】修改配置文件
vim /export/server/zookeeper/conf/zoo.cfgtickTime=2000# zookeeper數據存儲目錄
dataDir=/export/server/zookeeper/dataclientPort=2181
initLimit=5
syncLimit=2server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
5、【node1上操作】配置myid
# 1、創建zookeeper的數據目錄
mkdir /export/server/zookeeper/data# 2、創建文件,并填入1
vim /export/server/zookeeper/data/myid
# 在文件內填入1即可
6、【node2和node3上操作】,創建文件夾/export/server
mkdir -p /export/server
7、【node1上操作】 將zookeeper 復制到node2和node3
cd /export/serverscp -r apache-zookeeper-3.7.2-bin node2:`pwd`/
scp -r apache-zookeeper-3.7.2-bin node3:`pwd`/
8、【在node2上操作】
# 創建軟鏈接
ln -s /export/server/apache-zookeeper-3.7.2-bin /export/server/zookeeper# 修改myid文件,修改內容為2
vim /export/server/zookeeper/data/myid
9、【在node3上操作】
# 創建軟鏈接
ln -s /export/server/apache-zookeeper-3.7.2-bin /export/server/zookeeper# 修改myid文件,修改內容為3
vim /export/server/zookeeper/data/myid
10、【在node1、node2、node3上分別執行】啟動zookeeper
/export/server/zookeeper/bin/zkServer.sh start
11、【在node1、node2、node3上分別執行】檢查zookeeper
jps# 結果中找到有:QuorumPeerMain 進程即可
12、【node1上操作】驗證zookeeper
/export/server/zookeeper/zkCli.sh# 進入到zookeeper控制臺中,執行
ls /# 如無報錯即配置成功
至此zookeeper就安裝成功啦。