==========================================================
安装:
==========================================================
参考:https://www.cnblogs.com/ysocean/p/9860529.html
下载地址:
http://mirror.bit.edu.cn/apache/zookeeper/
本次选择zookeeper-3.5.8版本注意下载那个带bin的,文件大小大些的apache-zookeeper-3.5.8-bin.tar.gz
http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.8/
0. 安装前准备:
规划3个节点:
hosts主机都已经配置好映射,映射主机名分别为master,slave1,slave2,且已经进行ssh免密配置,确保端口互通,防火墙关闭
1. tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
2. 配置conf下配置文件
(1)在ZooKeeper安装目录下新建文件夹data,用于存放ZooKeeper相关数据。
mkdir data
(2)在ZooKeeper安装目录下的conf文件夹中新建配置文件zoo.cfg,
cp zoo_sample.cfg zoo.cfg
修改以下内容:
dataDir=/opt/soft/zookeeper/apache-zookeeper-3.5.8-bin/data
增加以下信息:比如配置master
server.0=master:2888:3888
server.1=slave1:2888:3888
server.2=slave2:2888:3888
(3) dataDir 指定的目录下,创建 myid 文件
对应主机中该文件中写上server.x 即可,如master写0
(4) 配置环境变量
转到root用户,首先进入到 /etc/profile 目录,添加相应的配置信息:
#set zookeeper environment
export ZK_HOME=/opt/soft/zookeeper/apache-zookeeper-3.5.8-bin/
export PATH=$PATH:$ZK_HOME/bin
然后通过如下命令使得环境变量生效:
source /etc/profile
复制到其他节点:
scp -r /opt/soft/zookeeper/apache-zookeeper-3.5.8-bin/ hadoop@slave1:/opt/soft/zookeeper/
scp -r /opt/soft/zookeeper/apache-zookeeper-3.5.8-bin/ hadoop@slave2:/opt/soft/zookeeper/
============================================================
启动zookeeper服务
============================================================
启动命令:
zkServer.sh start
停止命令:
zkServer.sh stop
重启命令:
zkServer.sh restart
查看集群节点状态:
zkServer.sh status
我们分别对集群三台机器执行启动命令。执行完毕后,分别查看集群节点状态:
三台机器,slave1 成功的通过了选举称为了leader,而剩下的两台成为了 follower。这时候,如果你将slave1关掉,会发现剩下两台又会有一台变成了 leader节点。
==========================================================
常见问题:
==========================================================
3.5.8的启动问题
问题现象: 启动报错 Starting zookeeper ... FAILED TO START
原因:实际上应该是你下载错了文件。在官网上有两个tar.gz文件,从目前的最新版本3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。 亲测已解决
搭建问题
如果没有出现上面的状态,说明搭建过程出了问题,那么解决问题的首先就是查看日志文件:
zookeeper 日志文件目录在:
dataDir 配置的目录下,文件名称为:zookeeper.out。通过查看日志来解决相应的问题。下面是两种常见的问题:
①、防火墙为关闭
查看防火墙状态:
service iptables status
关闭防火墙:
chkconfig iptables off
②、dataDir 配置的目录没有创建
在 zoo.cfg 文件中,会有对 dataDir 的一项配置,需要创建该目录,并且注意要在该目录下创建 myid 文件,里面的配置和 zoo.cfg 的server.x 配置保持一致。