• zookeeper的集群搭建


    1.介绍

      使用集群的方式避免单点故障时目前分布式应用实现高可用的重要手段,ZooKeeper同样可以搭建集群环境。

    2.说明

      1)服务器名称与地址:

        集群信息(服务器编号,服务器地址,LF通信端口,选举端口);

        配置项的格式为:server.N=IP:A:B

        N:服务器编号

        IP:服务器的IP地址

        A:LF通信端口,用来和leader交换信息

        B:leader挂掉后选举新leader的端口

      注:一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。

      2)搭建集群的环境的两种方式:

        ①同一主机的不同服务;

          例:

          server.1=127.0.0.1:2018:6008

          server.2=127.0.0.1:2017:6007

          server.3=127.0.0.1:2019:6009

        ②不同主机的相同或不同服务

          例:

          server.1=233.34.9.145:2019:6009

          server.2=233.34.9.146:2019:6009

          server.3=233.34.9.147:2019:6009

    3.搭建步骤

      这里以同一主机的不同服务为例。

      总体思路为:将原始的zookeeper压缩包解压;将解压复制后的zookeeper01修改一些公共配置,然后再复制两份;最后逐个修改各个服务的配置文件

      1)解压,复制

        ①tar -xzvf zookeeper-3.4.9.tar.gz

        ②cp -r zookeeper-3.4.9 zookeeper01

      2) 创建data数据文件和myid文件(myid文件定位服务)

        ①cd zookeeper01/

        ②mkdir data  //建数据目录文件

        ③cd data/

        ④touch myid  //创建myid文件 

        ⑤echo 1 >> myid  //将服务器的编号写在这里面

      3)修改zookeeper01/conf/下的配置文件

        ①cp zoo_sample.cfg zoo.cfg

        ②vim zoo.cfg

          将其中的dataDir修改为之前建的data的所在路径;然后再其末尾加上  集群信息(服务器编号,服务器地址,LF通信端口,选举端口)保存退出。如下图:

                      

      4)再复制两份

        cp -r zookeeper01/ zookeeper02

        cp -r zookeeper01/ zookeeper03

      5)将复制的修改其中的myid的2和3;

        echo 2 > /opt/zookeeper02/data/myid

        echo 3 > /opt/zookeeper03/data/myid

      6)复制后的再修改zoo.cfg中的dataDir和clientPort对应的值,如图:

        

                  

    4. 分别启动服务

      /opt/zookeeper03/bin/zkServer.sh start

      /opt/zookeeper02/bin/zkServer.sh start

      /opt/zookeeper01/bin/zkServer.sh start

      分别查看启动的状态

      /opt/zookeeper03/bin/zkServer.sh status

      /opt/zookeeper02/bin/zkServer.sh status

      /opt/zookeeper01/bin/zkServer.sh status

      若其状态为:Mode: follower 或 Mode: leader 表示启动成功。

      注意有时候,执行了启动命令,但是并未真的启动,所以需要查看状态。单个启动一个时可能会报错,需要一起启动其他的服务后,才能正常启动。

     5.启动客户端,连接服务器

      在 -server 参数中指定要连接的服务器

      打开三个终端,分别输入

      /opt/zookeeper01/bin/zkCli.sh -server 127.0.0.1:2181

      /opt/zookeeper02/bin/zkCli.sh -server 127.0.0.1:2182

      /opt/zookeeper03/bin/zkCli.sh -server 127.0.0.1:2183

      如下图:

             

    至此,三台服务搭建完成。在任何一台服务器上操作(增删节点,设置、修改节点值),在其他的服务器均能看到同步的数据

  • 相关阅读:
    Bitmap\Bytes\BitmapImage相互转换
    枚举值为什么使用1,2,4,8,16,32等2的幂方(转)
    获取电脑信息
    操作内存的帮助类
    C#调用DLL(整理)
    [原]java集合类TreeMap和TreeSet
    [原]《面试题精选》08.颠倒句子中单词的顺序
    [原]数据结构与对象的区别
    [原]初步了解Hadoop平台
    [原]《程序员面试题精选》06.查找最小的k个元素
  • 原文地址:https://www.cnblogs.com/sun-flower1314/p/11393393.html
Copyright © 2020-2023  润新知