1、在master机器上,下载后解压到所需目录下:
tar -zxvf /home/sxp/soft_packages/zookeeper-3.4.11.tar.gz -C /usr/softwares/
2、拷贝 zoo_sample.cfg
,进入zookeeper的conf目录,拷贝zoo_sample.cfg
并重命名为zoo.cfg
:
cd zookeeper-3.4.11/conf/
cp zoo_sample.cfg zoo.cfg
3、修改 zoo.cfg
修改如下,若原文件没有dataDir则直接在最后添加:
dataDir=/home/hadoop/zookeeper-3.4.11/data/zkData
4、指定zookeeper集群主机及端口,机器数必须为奇数
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
注意:(不需要按照注释里面的修改,hostname可以换成ip地址)
对应服务器上的host写0.0.0.0,如在master上,则写为
server.1=0.0.0.0:2888:3888
server.2=master189:2888:3888
server.3=slave190:2888:3888
5、在dataDir创建并编辑myid
-
在zookeeper根目录下创建zoo.cfg中配置的目录
mkdir data/zkData/ -p
-
创建并编辑文件,输入1,即表示当前机器为在zoo.cfg中指定的server.1
vi myid
6、拷贝zookeeper到其他机器,上述操作是在master188机器上进行的,要将zookeeper拷贝到其他zookeeper集群机器上,集群中各组件的安装目录最好保持一致:
cd /home/hadoop
scp -r zookeeper-3.4.11/ root@slave1:/usr/software/
scp -r zookeeper-3.4.11/ root@slave2:/usr/software/
7、修改其他机器的myid文件
myid
文件是作为当前机器在zookeeper集群的标识,这些标识在zoo.cfg
文件中已经配置好了,但是之前在master这台机器上配置的myid
为1,所以还需要修改其他机器的myid
文件:
- 在slave1机器上
echo 2 > /home/hadoop/zookeeper-3.4.11/data/zkData/myid
- 在slave2机器上
echo 3 > /home/hadoop/zookeeper-3.4.11/data/zkData/myid
8、启动zookeeper集群,可以制作自动化启动脚本,分别在master、slave1、slave2上启动:
./zkServer.sh start
查看状态
./zkServer.sh status
9、查看进程,若有QuorumpeerMain,则启动成功,三台机器的zookeeper状态必须只有一个leader
,其他都是follower
jps