安裝Zookeeper
1、下載Zookeeper安裝包
打開鏈接選擇一個版本進行下載
https://zookeeper.apache.org/releases.html
2、上傳Zookeeper安裝包到集群
輸入命令
scp apache-zookeeper-3.8.4-bin.tar.gz hadoop@192.168.88.100:/tmp
也可以使用xftp等上傳,物理機用u盤或移動硬盤
3、 解壓縮Zookeeper安裝包
輸入命令,將Zookeeper解壓縮到/export/server/路徑下
tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz -C /export/server/
4、創建軟鏈接
執行命令
ln -s /export/server/apache-zookeeper-3.8.4-bin/ /export/server/zookeeper
5、修改配置文件
(1)進入到目錄
cd /export/server/zookeeper/conf
(2)給配置文件改名
mv zoo_sample.cfg zoo.cfg
(3)編輯zoo.cfg
vim zoo.cfg
1)修改dataDir
dataDir=/export/server/zookeeper/data
2)配置zookeeper集群的服務器編號以及對應的主機名,選舉端口號和通信端口號
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
需要做好主機名和IP映射關系,不放心直接填寫主機對應IP
3)保存退出
(4)創建data文件夾
mkdir /export/server/zookeeper/data
6、設置服務器編號
在/export/server/zookeeper/data內,創建文件myid
vim myid
內容輸入1后保存退出
7、配置環境變量
切換到root用戶
su
編輯環境變量文件
vim /etc/profile
輸入內容
export ZK_HOME=/export/server/zookeeper
export PATH=$PATH:$ZK_HOME/bin
使環境變量生效,root用戶和hadoop用戶都執行
source /etc/profile
8、剩余節點配置
(1)在node2和node3同樣配置環境變量,仿照node1
或者用root用戶直接發送
scp /etc/profile node2:/etc/
scp /etc/profile node3:/etc/
同樣執行
source /etc/profile
(2)分發zookeeper到node2和node3
scp -r apache-zookeeper-3.8.4-bin/ node2:/export/server/
scp -r apache-zookeeper-3.8.4-bin/ node3:/export/server/
在node2和node3上創建軟鏈接
ln -s /export/server/apache-zookeeper-3.8.4-bin/ /export/server/zookeeper
ln -s /export/server/apache-zookeeper-3.8.4-bin/ /export/server/zookeeper
(3)修改node2和node3的myid分別為2和3
9、運行測試
在3臺結點上執行,否則本地運行
zkServer.sh start
PS:剛開始旨在node1上執行,查看日志說是node2和node3拒絕連接,然后查解決方案,沒有一個說要在所有結點上啟動zookeeper的,要么是讓你換jdk,要么是ip和主機名映射不對,或者配置文件寫錯了。當然也有個疑問,雖然zookeeper的leader和follower選舉產生,但為什么不能在node1上啟動zookeeper后,讓其余結點也啟動,就像hdfs那樣?
查看狀態,若各個結點能選舉出leader和follower就算成功
zkServer.sh status
停止可用,也是3個結點執行
zkServer.sh stop