一 本地模式:

1.上传到Linux

2.解压

  1. tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/



3.修改名字

  1. mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7



4.配置环境变量

  1. sudo vim /etc/profile.d/my_env.sh


export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
export PATH=$PATH:$ZOOKEEPER_HOME/bin


source /etc/profile.d/my_env

5.修改配置文件的名字

  1. cd /opt/module/zookeeper-3.5.7/conf


mv zoo_sample.cfg zoo.cfg

6.在zookeeper的根目

  1. mkdir zkData



7.修改配置文件中的内容

  1. vim /opt/module/zookeeper-3.5.7/conf/zoo.cfg


dataDir=/opt/module/zookeeper-3.5.7/zkData

8.启动zookeeper服务和查看状态

  1. zkServer.sh start


zkServer.sh status

9.启动zookeeper客户端

  1. zkCli.sh


10.退出客户端

  1. quit





二 集群模式

1.在本地模式的基础上做修改

2.将Zookeeper服务停掉:zkServer.sh stop

3.将/opt/module/zookeeper-3.5.7/zkData目录下所有内容全部删除

  1. rm -rf /opt/module/zookeeper-3.5.7/zkData/*



4.在/opt/module/zookeeper-3.5.7/zkData目录下创建myid文件

  1. touch myid


5.在myid文件中添加一个数值(该数值表示该节点在集群中的唯一id)

  1. hadoop102中的myid2


hadoop103中的myid写3
hadoop104中的myid写4

6.在conf/zoo.cfg中添加如下内容


server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888
=====================================解释==================================
server.a=b:c:d
a:myid中的值
b: myid中的值对应的服务器的地址
c: leader和follower通信的端口号
d: 选举leader的端口号

7.将/opt/module/zookeeper-3.5.7分发到其它节点

  1. xsync zookeeper-3.5.7




8.在hadoop103和hadoop104中修改myid的值

  1. hadoop102中的myid2


hadoop103中的myid写3
hadoop104中的myid写4

9.启动集群(每台节点单独启动)

  1. zkServer.sh start






三 群起脚本

!/bin/bash



if [ $# -ne 1 ]
then
echo “args number error!!!”
exit
fi

var=””

case $1 in
“start”)
var=”start”
;;
“stop”)
var=”stop”
;;
“status”)
var=”status”
;;
*)
echo “args info error!!!”
exit
;;
esac




for host in hadoop102 hadoop103 hadoop104
do
echo “==========================$host======================”
ssh $host /opt/module/zookeeper-3.5.7/bin/zkServer.sh $var
done