Zookeeper集群的角色: ?Leader 和 ?follower ?(Observer)
zk集群最好配成奇數個節點
只要集群中有半數以上節點存活,集群就能提供服務
本事例采用版本:zookeeper-3.4.5 虛擬機:zk1 zk2 zk3
/********************************************************************第一步上傳解壓*****************************************************************/
1/ 安裝到3臺虛擬機上
2/ 安裝好JDK
3/ 上傳安裝包。上傳用工具比如:xshell
4/ 解壓安裝文件到指定目錄 /usr/local/zookeeper
tar -zxvf zookeeper-3.4.5.tar.gz(解壓)
5/ 重命名
mv zookeeper-3.4.5 zookeeper(重命名文件夾zookeeper-3.4.5為zookeeper)
/*****************************************************第二步配置環境變量***********************************************************/
1/ vi /etc/profile(修改文件)
2/ 添加內容:
export ZOOKEEPER_HOME=/home/hadoop/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
3/ 加載環境配置:
source /etc/profile
/********************************************************************第三步修改配置*************************************************************/
修改Zookeeper配置文件
1、用root用戶操作修改配置文件名稱:
cd zookeeper/conf
cp zoo_sample.cfg zoo.cfg
2、 修改配置文件: vi zoo.cfg
3、添加內容:
dataDir=/root/apps/zookeeper/zkdata
server.1=zk1:2888:3888 ????## (心跳端口、選舉端口)
server.2=zk2:2888:3888
server.3=zk3:2888:3888
/********************************************************************第四步創建日志文件*************************************************************/
4、創建文件夾:
cd /root/apps/zookeeper/zkdata
mkdir zkdata
5、在zkdata文件夾下新建myid文件,myid的文件內容為:
cd zkdata
echo 1 > myid
4.2.4 分發安裝包到其他機器
scp -r /root/apps root@zk2:/root/
scp -r /root/apps root@zk3:/root/
4.2.5 修改其他機器的配置文件
1、修改myid文件
到zk2上:echo 2 > myid 修改myid為:2
到zk3上:echo 3 > myid 修改myid為:3
4.2.6 啟動(每臺機器)
注:
1、事先將三臺服務器的防火墻都關掉
2、全網統一hosts映射
先配好一臺上的hosts
然后:
scp ?/etc/hosts ?zk2:/etc
scp ?/etc/hosts ?zk3:/etc
3、然后一臺一臺地啟動
bin/zkServer.sh start
或者編寫一個腳本來批量啟動所有機器:
for host in "zk1 zk2 zk3"
do
ssh $host "source/etc/profile;/user/local/zookeeper/bin/zkServer.sh start"
4.2.7 查看集群狀態
1、jps(查看進程)
2、zkServer.sh status(查看集群狀態,主從信息)