VMware CentOS6.5 搭建ZooKeeper集群

1、vmware Centos6.5虚拟机准备bash

1. 使用同一用户learn ,安装三台CentOS6.5系统虚拟机,分别为vm1, vm2,    vm3。网络

2. 经过NAT或者桥接模式分别为vm1,vm2, vm3设置网络。文中采用NAT方式, ip地址分别为:app

     vm1: 192.168.60.128  vm1.learn.com.net

     vm2: 192.168.60.130  vm2.learn.com日志

     vm2: 192.168.60.131  vm3.learn.comcode

保证相互之间能够ping通, 且/etc/hosts文件配置各节点host。server

3. 为每台机器设置SSH免密登陆, 参见:https://blog.csdn.net/zhujq_icode/article/details/82629745blog

2、安装Zookeeper集群ip

1. 下载Zookeeper安装包,本文下载的是:zookeeper-3.4.13.tar.gzget

2.  解压安装包至安装目录 /home/learn/app/zookeeper/

tar -zxvf zookeeper-3.4.13.tar.gz -C /home/learn/app/zookeeper

3.  vm1修改zoo.cfg配置文件, 设置集群节点。(若节点间链接有问题,可将本机的server改为:如vm1的, server.1=0.0.0.0:2888:3888)

dataDir=/home/learn/data/zookeeper/data
dataLogDir=/home/learn/data/zookeeper/logs

server.1=vm1.learn.com:2888:3888
server.2=vm2.learn.com:2888:3888
server.3=vm3.learn.com:2888:3888

4. 复制安装包及配置文件至vm2, vm3机器。

5. 为各个节点设置server id 和zoo.cfg配置的一致, 如server.1=vm1.learn.com:2888:3888,这vm1的zookeeper节点的server id为1。

    在dataDir=/home/learn/data/zookeeper/data目录下,生成一个配置文件myid,配置内容即为对应的id值, 如:

//vm1机器
echo 1 > /home/learn/data/zookeeper/data/myid

//vm2机器
echo 2 > /home/learn/data/zookeeper/data/myid

//vm3机器
echo 3 > /home/learn/data/zookeeper/data/myid

6. 启动各个节点

cd /home/learn/app/zookeeper/zookeeper-3.4.13/bin

//启动zookeeper
./zkServer.sh start

//查看启动状态mode: follower 仍是 leader
./zkServer.sh status

//中止zookeeper
./zkServer.sh start

7. 观察启动日志

/home/zhujq/app/zookeeper/zookeeper-3.4.13/bin/zookeeper.out

不少错误均可以在此发现并获得解决。

 

3、Connect Refused 或者 Connect time out

1.  检查是否设置server id, myid配置文件位置,值是否正确。

2. /etc/hosts文件是否正确设置了各节点host。

3. 防火墙是否容许zookeeper端口访问, 

//检查防火墙状态
service iptables status

//暂时关闭防火墙, 重启以后,防火墙也会开启
service iptables stop

//启动防火墙
service iptables start


//永久关闭防火墙, 开机不启动防火墙
service iptables stop
chkconfig iptables off

//开机启动防火墙
chkconfig iptables on