Zookeeper做为分布式协调服务,用于统一数据管理,可以单独安装应用,不依赖于其他组件,其他集群服务是依赖于zookeeper来同步服务以及文件。
都是用root用户,zookeeper-3.4.10.tar.gz 放在下载文件夹下
5台机器的集群配置如下(已安装并配置jdk环境变量)
192.168.168.116 master1
192.168.168.117 master2
192.168.168.118 slaver1
192.168.168.119 slaver2
192.168.168.120 slaver3
修改主机ip映射文件如下(所有机器)
# vi /etc/hosts
# cd /root/下载
# tar -zxf zookeeper-3.4.10.tar.gz -C /usr/local
# mv /usr/local/zookeeper-3.4.10 /usr/local/zookeeper
修改配置文件:
# cd /usr/local/zookeeper/conf
# cp zoo_sample.cfg zoo.cfg # 复制配置文件(固定名称zoo.cfg)
# vi zoo.cfg # 其他默认,修改新增以下配置
dataDir=/usr/local/zookeeper/tmp # 自定义缓存目录,没有要手动创建
server.1=master1:2888:3888
server.2=master2:2888:3888
server.3=slaver1:2888:3888
server.4=slaver2:2888:3888
server.5=slaver3:2888:3888
其中server.数字 是固定格式,后面myid文件中要对应上
在上面自定义的缓存目录下新建一个文件,固定名称为myid
# touch /usr/local/zookeeper/tmp/myid
# vi /usr/local/zookeeper/tmp/myid
每个节点都要根据映射的实际server的数字更改,只填入相应数据即可(如1;或者2;或者3)
master1 的myid的值
修改环境变量:
# vi /etc/profile # 增加以下配置
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
复制到其他节点:
# scp –r /usr/local/zookeeper slaver1:/usr/local
注意:各节点修改相应的myid并修改环境变量
在各个启动zookeeper:
# cd /usr/local/zookeeper
# ./bin/zkServer.sh start
# ./bin/zkServer.sh status
查看状态,有flower和leader,把leader节点kill掉后,会有其他flower变成leader,启动原来被kill掉的节点成为flower。说明zookeeper节点安装配置成功。
# ./bin/zkServer.sh stop # 关闭服务
至此,zookeeper服务安装完毕。安装hadoop ha必须安装zookeeper。