Linux下搭建Zookeeper分布式集群(详细图解演示)

一:实验环境搭建.

      1.1 Linux使用的是CentOS7.3的发行版,Zookeeper的版本是3.4.12.搭建三个节点的集群,是分别在三台虚拟机上配置Zookeeper节点,不是在一台虚拟机上搭建的三个Zookeeper节点的伪集群.分布式集群配置奇数个节点.

      1.2 使用VMware的克隆技术,完成了三个节点的搭建.IP分别是:

          ①:192.168.199.133.

          ②:192.168.199.136.

          ③:192.168.199.137.

Linux下搭建Zookeeper分布式集群(详细图解演示)_第1张图片

Linux下搭建Zookeeper分布式集群(详细图解演示)_第2张图片

     1.3 Java环境检查.(由于是从192.168.199.133这台虚拟机上克隆的,只检查其它两台即可).

           ① 192.168.199.136.

          ② 192.168.199.137.

   1.4 Zookeeper下载.

     ① 192.168.199.133上面下载然后scp至其他两台即可.

     wget    http://mirrors.shu.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz

Linux下搭建Zookeeper分布式集群(详细图解演示)_第3张图片

Linux下搭建Zookeeper分布式集群(详细图解演示)_第4张图片

   ②:分别将压缩包复制到其他两台虚拟机上.(可以提前配置一下免密登录)

   scp /usr/local/zookeeper-3.4.12.tar.gz [email protected]:/usr/local

Linux下搭建Zookeeper分布式集群(详细图解演示)_第5张图片

  scp /usr/local/zookeeper-3.4.12.tar.gz [email protected]:/usr/local

Linux下搭建Zookeeper分布式集群(详细图解演示)_第6张图片

   192.168.199.136下/usr/local查看.

Linux下搭建Zookeeper分布式集群(详细图解演示)_第7张图片

   192.168.199.137下/usr/local查看.

Linux下搭建Zookeeper分布式集群(详细图解演示)_第8张图片

  1.5 Zookeeper的解压.

        ①:192.168.199.133下解压.

               tar zxvf zookeeper-3.4.12.tar.gz

               rm -rf zookeeper-3.4.12.tar.gz

Linux下搭建Zookeeper分布式集群(详细图解演示)_第9张图片

      ②:192.168.199.136下解压.

             tar zxvf zookeeper-3.4.12.tar.gz

              rm -rf zookeeper-3.4.12.tar.gz

Linux下搭建Zookeeper分布式集群(详细图解演示)_第10张图片

       ③:192.168.199.137下解压.

              tar zxvf zookeeper-3.4.12.tar.gz

              rm -rf zookeeper-3.4.12.tar.gz

Linux下搭建Zookeeper分布式集群(详细图解演示)_第11张图片

二:Zookeeper集群配置.

     2.1 完成Zookeeper的解压,然后在每个节点Zookeeper目录下创建数据目录zkData.不使用/tmp目录.创建myid.

Linux下搭建Zookeeper分布式集群(详细图解演示)_第12张图片

然后在zkData目录下创建一下myid文件.(指定Server的编号).

          cd zkData

          touch myid

Linux下搭建Zookeeper分布式集群(详细图解演示)_第13张图片

三台机器分别指定为1,2,3.在搭建集群的时候,Zookeeper在启动的时候,会读取里面的数据与zoo.cfg中配置信息进行比较进而判断是哪个Server.

2.2 修改配置文件.(关键)

     ①.修改conf目录下的zoo_sample.cfg为zoo.cfg.(三个都修改).

         mv zoo_sample.cfg zoo.cfg

     ②.修改zoo.cfg文件.

          配置通式:serevr.A=B:C:D.解释如下.

     A:表示这是第几号机器.

     B:表示这台服务器的IP地址.

     C:表示这台机器与集群Leader服务器交换信息的端口.常用2888端口.

     D:如果集群中的Leader服务器挂了,选出一个新的Leader时,这个端口用来和其他服务器进行通信的端口.常用3888端口.

因为是分布式集群搭建,所以可以配置一样的端口,如果是伪集群,在一台机器上搭建时,B就配置为127.0.0.1或localhost.C和D配置均为不同的端口.分布式集群中的每个节点都分布在不同的机器上,每个机器都有自己玩的IP地址,端口也不会被其他节点所占用.

     ③.vim zoo.cfg.(三个节点配置一样的).

          tickTime=2000

          initLimit=10

         syncLimit=5

         dataDir=/usr/local/zookeeper-3.4.12/zkData

         clientPort=1281

        server.1=192.168.199.133:2888:3888
        server.2=192.168.199.136:2888:3888
        server.3=192.168.199.137:2888:3888

Linux下搭建Zookeeper分布式集群(详细图解演示)_第14张图片

三: Zookeeper集群启动.

     3.1 三台机器分别采用后台启动方式启动.一次在相应的bin目录下启动,在启动的过程中也完成了Leader的选举.启动顺序如下

      分别在bin目录下使用sh zkServer.sh start

      ① :192.168.199.133.

Linux下搭建Zookeeper分布式集群(详细图解演示)_第15张图片

    ② 192.168.199.136.

Linux下搭建Zookeeper分布式集群(详细图解演示)_第16张图片

   ③ 192.168.217.137

Linux下搭建Zookeeper分布式集群(详细图解演示)_第17张图片

3.2 查看Zookeeper集群状态.

    分别在启动目录下使用sh zkServer.sh status.

    ①:192.168.199.133

Linux下搭建Zookeeper分布式集群(详细图解演示)_第18张图片

   ②:192.168.199.136

Linux下搭建Zookeeper分布式集群(详细图解演示)_第19张图片

  ③:192.168.199.137.

Linux下搭建Zookeeper分布式集群(详细图解演示)_第20张图片

一次启动三台Zookeeper服务节点,根据leader票选算法,server2为leader.依据各自的投票.(myid,ZXID).半数以上即可.

三 Zookeeper的leader选举算法介绍.

    Leader选举是分布式数据一致性额关键所在.分为服务器启动时选举和服务无法和leader保持连接.

   3.1 推荐这篇文章,写的非常清楚.Leader选举.

   至此完成了Zookeeper的分布式集群搭建,伪分布式就不演示了,比较简单.整个过程还是比较顺利的.

你可能感兴趣的:(Linux学习)