linux下安装zookeeper集群

一. 简介

           为了真实模拟线上环境以及选举机制,特意买了三台百度服务器。

二. 安装步骤

2.1 给三台服务器分别搭建jdk

          安装步骤请参照博主的另一篇博文: linux下安装jdk8

2.2  下载zookeeper安装包

         zookeeper下载官网路径: http://mirrors.hust.edu.cn/apache/zookeeper/ 

2.3 上传并解压zookeeper-3.4.13.tar.gz(三台服务器一样操作)

        在/home/env目录下创建zookeeper目录,上传zookeeper-3.4.13.tar.gz,并解压

[root@dxb ~]# cd /home/env/zookeeper/
[root@dxb zookeeper]# tar -zxvf zookeeper-3.4.13.tar.gz

  linux下安装zookeeper集群_第1张图片

2.4 给三台服务器分别创建data目录(三台服务器一样操作)

        在/home/env/zookeeper/目录下创建data目录

   linux下安装zookeeper集群_第2张图片

 2.5 将zoo_simple.cfg重命名为zoo.cfg (三台服务器一样操作)

2.6 修改zoo.cfg中的dataDir以及clientPort(三台服务器一样操作)

注: 三台端口均为2181

linux下安装zookeeper集群_第3张图片

2.7 在data目录下创建myid文件,内容分别为1,2,3 

   另外俩台myid文件的内容分别为2,3  

linux下安装zookeeper集群_第4张图片

2.8 在zoo.cfg中配置zookeeper的集群IP和port列表(三台服务器一样操作)

注: server.服务器ID=服务器外网IP地址:服务器之间通信端口:服务器之间投票选举端口

server.1=182.61.53.64:2888:3888
server.2=182.61.61.90:2888:3888
server.3=182.61.32.229:2888:3888

         关于这一点,配置中会出现用外网IP无法启动集群,如果使用内网IP则可以,但后面别的应用应该无法连接zookeeper了。

         解决方案:

                      在zoo.cfg配置文件中添加 quorumListenOnAllIPs=true 即可解决问题。

 

三. 测试

3.1 启动集群

按照顺序来: 先启动myid为1的,然后2,3分别启动

[root@dxb conf]# cd /home/env/zookeeper/zookeeper-3.4.13/bin/
[root@dxb bin]# ./zkServer.sh start

启动后如下:

3.2 查看各个zookeeper状态

myid为1的: 刚开始是not running状态

linux下安装zookeeper集群_第5张图片

myid为2的: 此时是leader状态:

linux下安装zookeeper集群_第6张图片

myid为3的:此时是follower状态:

linux下安装zookeeper集群_第7张图片

此时再去查看myid为1的,状态改为follower状态了:

linux下安装zookeeper集群_第8张图片

然后我把myid为2的主节点关掉:

linux下安装zookeeper集群_第9张图片

然后再查看myid为3的状态,会发现它变为了主节点:

linux下安装zookeeper集群_第10张图片

此时,再次启动myid为2的节点,此时,会发现它变成了follower节点:

linux下安装zookeeper集群_第11张图片

 

 

你可能感兴趣的:(Linux)