zoukankan      html  css  js  c++  java
  • zookeeper 安装与配置

      (1) 下载ZooKeeper,建议选择稳定版,即stable的。

         [root@bonnie1 ~]# cd /usr/local

         [root@bonnie1 local]# wget http://apache.dataguru.cn/zookeeper/stable/zookeeper-3.4.6.tar.gz

      (2) 解压

         [root@bonnie1 local]# tar -zxvf zookeeper-3.4.6.tar.gz

     

      (3) 修改配置文件

         [root@bonnie1 local]# cd /usr/local/zookeeper-3.4.6/conf/

         [root@bonnie1 conf]# mv zoo.cfg.sample zoo.cfg

         [root@bonnie1 conf]# vi zoo.cfg

    # 修改如下行

    dataDir=/usr/local/zookeeper-3.4.6/data

    # 追加如下三行

    server.1=10.211.55.21:2888:3888

    server.2=10.211.55.22:2888:3888

    server.3=10.211.55.23:2888:3888

            

    文件相关参数说明:  

    ①tickTime:心跳时间,毫秒为单位。

    ②initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。

    ③syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10 秒。

    ④dataDir:存储内存中数据库快照的位置。

    ⑤clientPort:监听客户端连接的端口

    ⑥server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。dataDir目录下创建myid文件,将内容设置为上⑥中的A值,用来标识不同的服务器。

     

          [root@bonnie1 local]# mkdir /usr/local/zookeeper-3.4.6/data

          [root@bonnie1 local]# touch /usr/local/zookeeper-3.4.6/data/myid

          [root@bonnie1 local]# echo 1 > /usr/local/zookeeper-3.4.6/data/myid

      (4) 将bonnie1的配置拷贝到其他节点

          [root@bonnie1 local]# scp -r /usr/local/zookeeper-3.4.6/ bonnie2:/usr/local

          [root@bonnie1 local]# scp -r /usr/local/zookeeper-3.4.6/ bonnie3:/usr/local

      (5)在对应设备上修改配置文件中的ID号

          [root@bonnie1 local]# echo 2 > /usr/local/zookeeper-3.4.6/data/myidbonnie2

          [root@bonnie1 local]# echo 3 > /usr/local/zookeeper-3.4.6/data/myidbonnie3

      (6)启动 zookeeper

        # 启动节点bonnie1的zookeeper

          [root@bonnie1 ~]# cd /usr/local/zookeeper-3.4.6/bin/

          [root@bonnie1 bin]# ./zkServer.sh start

          JMX enabled by default

          Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg

          Starting zookeeper ... STARTED

        # 启动节点bonnie2的zookeeper

          [root@bonnie2 ~]# cd /usr/local/zookeeper-3.4.6/bin/

          [root@bonnie2 bin]# ./zkServer.sh start

        # 启动节点bonnie3的zookeeper

          [root@bonnie2 ~]# cd /usr/local/zookeeper-3.4.6/bin/

          [root@bonnie2 bin]# ./zkServer.sh start

        # 查看各节点的zookeeper状态

          [root@bonnie1 bin]# ./zkServer.sh status

          JMX enabled by default

          Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg

          Mode: follower

          [root@bonnie1 bin]# jps

          3191 Jps

          3124 QuorumPeerMain

          [root@bonnie2 bin]# ./zkServer.sh status

          JMX enabled by default

          Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg

          Mode: leader

          [root@bonnie2 bin]# jps

          3191 Jps

          3124 QuorumPeerMain

          [root@bonnie3 bin]# ./zkServer.sh status

          JMX enabled by default

          Using config: /usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg

          Mode: follower

          [root@bonnie3 bin]# jps

          3191 Jps

          3124 QuorumPeerMain

  • 相关阅读:
    联合主键有什么用?
    在Spring Boot中使用数据库事务
    Integer.valueOf
    Linux上安装Zookeeper以及一些注意事项
    一个开源的会议管理系统,适合初学者练手(老司机请忽略)
    一个开源的会议管理系统,适合初学者练手(老司机请忽略)
    IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
    从高考到程序员之毕业流水帐
    Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享
    Shiro中的授权问题(二)
  • 原文地址:https://www.cnblogs.com/bonnienote/p/6130645.html
Copyright © 2011-2022 走看看