一、安装环境
系统CentOS 7,已安装JDK8,已配置JAVA_HOME环境变量和PATH环境变量,已配置主机名、已配置SSH免密登录,防火墙已关闭。Zookeeper版本3.6.2。
二、安装步骤
1.下载Zookeeper到/opt目录
wget https://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
2.解压文件到/opt目录
tar -zxf apache-zookeeper-3.6.2-bin.tar.gz
3.修改配置文件
cd apache-zookeeper-3.6.2-bin
cd conf/
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改Zookeeper数据目录、server列表:
dataDir=/var/lib/zookeeper
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
创建数据目录,创建myid文件:
创建zookeeper数据目录,在数据目录创建名为myid的文件,文件内容就是一个数字,和配置文件中的主机名、序号对的上即可:
mkdir -p /var/lib/zookeeper
echo "1" > /var/lib/zookeeper/myid
在另外两个节点上执行同样操作,myid内容和配置文件对应:
ssh hadoop2 "mkdir -p /var/lib/zookeeper"
ssh hadoop2 "echo '2' > /var/lib/zookeeper/myid"
ssh hadoop3 "mkdir -p /var/lib/zookeeper"
ssh hadoop3 "echo '3' > /var/lib/zookeeper/myid"
备注:需要配置了免密才能成功运行上面的命令
4.分发副本
用scp命令将/opt/apache-zookeeper-3.6.2-bin文件夹所有内容复制到另外两个节点上:
scp -r apache-zookeeper-3.6.2-bin hadoop2:$PWD
scp -r apache-zookeeper-3.6.2-bin hadoop3:$PWD
注意,执行上述命命令的当前目录是/opt目录,$PWD变量的值就是当前目录。
5.启动Zookeeper
为了方便,这里使用自己写的脚本来同时启动三个节点的zookeeper,脚本名定为all-start.sh,内容如下:
#!/bin/bash
hosts="hadoop1 hadoop2 hadoop3"
zk_path="/opt/apache-zookeeper-3.6.2-bin"
for host in $hosts
do
ssh -t $host << EOF
cd $zk_path
bin/zkServer.sh start
EOF
done
echo "启动完成"
运行脚本all-start.sh:
sh all-start.sh
至此,zookeeper集群搭建配置完成并启动成功。
6.连接测试(非必需)
bin/zkCli.sh -server 127.0.0.1:2181
查看/:
7.其他
如果无法连接,请检查防火墙是否已放行2181、2888、3888等端口。