zookeeper集群搭建

    xiaoxiao2021-03-25  109

    原网址:http://blog.csdn.net/u010739551/article/details/51820890?locationNum=2&fps=1

    一、下载源码:

    官方网站:http://mirrors.cnnic.cn/apache/zookeeper

    本次搭建下载为3.4.6,最新release版本。

     

    二、zookeeper集群种类

    1、单节点方式:部署在一台机器上

    2、单IP多节点:部署在同一IP,但是有多个节点,各有自己的端口

    3、多IP多节点:部署在不同IP,各有自己的端口

     

    三、搭建:

    1、单节点方式比较简单:

    如果没有特殊需求,不需要修改配置文件,直接使用默认配置文件即可。

    配置默认内容为:

     

    命令行格式为:

    bin/zkServer.sh  start

    查看是否成功运行:

    bin/zkServer.sh  status

    成功运行输出为:

     

    注意

    (1)bin/zkServer.sh start运行后终端输出信息不能代表已经成功运行,必须使用bin/zkServer.sh status测试才能确定。

    启动成功与否,执行bin/zkServer.sh start之后,终端都会输出:

    (2)端口的占用有可能导致失败,失败原因可以在zookeeper.out文件中找到:

    举例:使用8080作为端口:

    (3)重复启动,则终端输出:

    (4)退出zookeeper:

    bin/zkServer.sh   stop

     

    (5)sudo  -E使用

    Tony在帮我调试zookeeper搭建时,使用这个选项可以保存当前用户的环境变量,不然当进程切换时某些权限会在切换中失去,因此使用-E选项可以使sudo权限一直保持,不然可能会报错。本例中的报错显示,无法调用Java:

     

     

     

     

     

    2、单IP多节点:

    (1)修改配置文件:

             拷贝多份zookeeper程序,例如设置三个server,分别创建目录server1、server2、server3,每个目录下存放一份zookeeper程序,并修改各自配置文件如下:

     

    server1

     

    server2:

     

    server3:

     

     

    注意:

    同一IP上搭建多个节点的集群时,必须要注意端口问题,端口必须不一致才行;

    创建多个节点集群时,在dataDir目录下必须创建myid文件,myid文件用于zookeeper验证server序号等,myid文件只有一行,并且为当前server的序号,例如server.1myid就是1server2myid就是2等。

     

    (2)启动过程:

    本次启动顺序为server1、server2、server3

    在启动过程中会验证一些配置问题。

     

    步骤一:启动server1

    使用bin/zkServer.sh  status查看server1的启动结果:

    然后查看server1的zookeeper.out文件发现:

     

    注:如上面两幅图片所示,当搭建集群时,如果只启动一个节点,会出现两个现象:现象一,此时验证启动状态,会发现启动失败;现象二,zookeeper.out文件中也显示连接其他节点失败。

    此时不要担心,这是正常状况。当再启动一个节点时,现象一就会消失;当所有节点都成功启动时,现象二就会消失。

     

     

    步骤二:启动server2

    查看server2启动后的zookeeper.out文件:

     

    上面两幅图片说明,server2启动后,server1和server2就自动组成集群,并且选举server2为leader,server1自然就为follower。

     

     

     

    步骤三:启动server3:

    验证一:clientPort使用相同端口时启动结果:

    启动后,查看zookeeper.out文件:

     

    验证二:server3的选举leader端口和连接leader通信端口和server1的相同时:

    启动后,查看zookeeper.out文件:

     

    验证三:没有创建myid文件:

    启动后查看zookeeper.out文件:

     

     

    正常启动server3后

    查看zookeeper.out文件:

     

     

    使用bin/zkServer.sh status查看三者状态:

     

     

     

     

     

     

     

     

     

    3、多IP多节点:

    将zookeeper拷贝到每个节点一份。

    多IP多节点与单IP多节点搭建过程基本一致,上述过程不再重复描述,仅重点说一个地方:

     

    主机名与IP地址的映射。

     

    本例中采用4个IP上的4个节点,域名和IP的对应关系为:

    rman-nod1   10.110.0.60

    rman-nod2   10.110.0.61

    rtask-nod3     10.110.10.30

    rtask-nod4     10.110.10.40

     

    注:其中rman-nod1和rman-nod2为双网卡节点,其他为单网卡节点;

    其中rman-nod1的网址为: 10.110.0.60----对外

                                                             10.110.10.2----对内

        rman-nod2的网址为: 10.110.0.61---对外

                                                             10.110.10.6----对内

     

     

    zookeeper配置文件server的IP为:

    因此连接总是失败。

    当将zookeeper配置文件中server的IP改为对内IP时,就可以正确连接:

     

    转载请注明原文地址: https://ju.6miu.com/read-10697.html

    最新回复(0)