zookeeper集群搭建

1、单节点搭建(独立模式)

1.1、前提

单台Linux服务器

安装jdk,配置环境变量JAVA_HOME

1.2、安装配置

tar -zxvf zookeeper-3.4.6.tar.gz

将./conf目录下的zoo_sample.cfg复制重命名为zoo.cfg。

除ZOOKEEPER_HOME外,无需其他任何配置。

1.3、启动测试

#启动zk
./bin/zkServer.sh start
#查看状态
./bin/zkServer.sh status

可以看出zk处于独立模式。

 

2、集群搭建(集群模式)

2.1、前提

奇数台Linux服务器

每台服务器安装jdk,配置环境变量

修改每台服务器的主机名(如:分别为slave01、slave02、slave03),相互之间能进行SSH无密码登录。

2.2、安装配置

在每台服务器上均执行以下全部操作

1、解压安装

tar -zxvf zookeeper-3.4.6.tar.gz

2、配置zoo.cfg

复制./conf目录下的zoo_sample.cfg并重命名为zoo.cfg,修改内容如下:

其中dataDir的目录请手动创建,用户也可以自行指定dataLogDir的值,并创建相应目录。暂不配置dataLogDir和日志自动清除。

3、修改zkEnv.sh

修改./bin/目录下的zkEnv.sh文件,添加环境变量JAVA_HOME

4、添加myid文件

在每个zk节点的dataDir目录中,添加节点的唯一标识id,该id与zoo.cfg中的server配置相对应。

echo 1 > /usr/local/bigdata/ zookeeper-3.4.6/zkdata/myid		#slave01操作
echo 2 > /usr/local/bigdata/ zookeeper-3.4.6/zkdata/myid		#slave02操作
echo 3 > /usr/local/bigdata/ zookeeper-3.4.6/zkdata/myid		#slave03操作

2.3、启动测试

在每台服务器上启动zk,并查看每个zk节点的状态。

./bin/zkServer.sh start		#启动zk
./bin/zkServer.sh status		#查看状态

可以看到,一个节点leader,其余为follwer。

 

测试:当Leader节点宕机时,查看剩余节点是否通过选举产生新的Leader节点?重启宕机的zk节点,查看其角色是否变为Follower?

杀死Leader节点的zk进程,10秒(如何推算出是10s?)后,剩余节点将选举出新的Leader

 

剩余节点选举出新的Leader节点:

 

 

宕机的节点重启zk后,将变为Follower:

 

posted @ 2017-12-01 14:43  simple-clean-opt  Views(182)  Comments(0Edit  收藏  举报