前提:在搭建Zookeeper集群前,确保Hadoop集群已搭建完毕!可参考白熊的03.Hadoop集群搭建
一、Zookeeper集群搭建
- MyNode01机器(icebear用户)
- 下载安装包
- 上传并解压zookeeper安装包
cd /home/bgd/soft
tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /home/bgd/install/
- 修改配置文件
cd /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/conf
cp zoo_sample.cfg zoo.cfg
mkdir -p /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
vim zoo.cfg
# 添加如下配置 dataDir=/home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas autopurge.snapRetainCount=3 autopurge.purgeInterval=1 server.1=MyNode01:2888:3888 server.2=MyNode02:2888:3888 server.3=MyNode03:2888:3888
- 将配置好的zookeeper分发的其它机器上
cd /home/bgd/install
sudo scp -r zookeeper-3.4.5-cdh5.14.2/ MyNode02:$PWD
sudo scp -r zookeeper-3.4.5-cdh5.14.2/ MyNode03:$PWD
- 配置环境变量
sudo vim /etc/profile
JAVA_HOME=/home/bgd/install/jdk1.8.0_141 HADOOP_HOME=/home/bgd/install/hadoop-2.6.0-cdh5.14.2 # 本次添加 ZK_HOME=/home/bgd/install/zookeeper-3.4.5-cdh5.14.2 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin export JAVA_HOME export HADOOP_HOME # 本次添加 export ZK_HOME export PATH
- 将配置好的环境变量分发到其它机器上
sudo scp /etc/profile MyNode02:/etc/
sudo scp /etc/profile MyNode03:/etc/
- 添加myid并使环境变量生效
- MyNode01(icebear用户)
echo 1 > /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
source /etc/profile
- MyNode02(icebear用户)
echo 2 > /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
source /etc/profile
- MyNode03(icebear用户)
echo 3 > /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
source /etc/profile
- MyNode01(icebear用户)
二、开启/关闭zookeeper集群
- 所有机器分别执行(icebear用户)
- 开启
sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start
- 查看
sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh status
- 停止
sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh stop
- 重启
sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh restart
- 查看报错日志
sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start-foreground
- 开启
- MyNode01机器(icebear用户)
- 一键开启
sudo bash zk_start.sh
#!/bin/sh for host in MyNode01 MyNode02 MyNode03 do ssh $host "/home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start" echo "$host ZK is running" done
- 一键查看
sudo bash zk_status.sh
#!/bin/sh for host in MyNode01 MyNode02 MyNode03 do ssh $host "/home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh status" echo "$host" done
- 一键关闭
sudo bash zk_stop.sh
#!/bin/sh for host in MyNode01 MyNode02 MyNode03 do ssh $host "/home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh stop" echo "$host ZK is stoped" done
- 一键开启
三、查看集群
四、报错排查
- 查看日志
sudo /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start-foreground
- 若Zookeeper集群无法正常启动
- 修改zkServer.sh
sudo vim /home/bgd/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh
# 添加 source /etc/profile
- 再次开启集群
- sudo bash zk_start.sh
- 修改zkServer.sh