zookeeper集群搭建

Linux下zookeeper集群环境搭建
  自行搭建一个zookeeper集群(本例只使用3个zookeeper,搭建zookeeper集群,zookeeper个数必须为奇数)
  1.zookeeper下载
    第一种方式:下载地址:https://www.apache.org/dyn/closer.cgi/zookeeper/   (选择一个镜像地址后下载相应版本zookeeper)
       下载到电脑上然后传输到Linux系统上相应的文件中
    第二种方式:执行命令 yum -y install wget(安装了wget忽略此步骤)
       在相应文件加下直接 执行 wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz(我选用的是3.4.10版)
  2.修改配置文件后进行选举
    (我是下载到 /home/jiang/myapp/目录下,原文地址:http://www.cnblogs.com/northern-light/
    2.1    tar -zxf zookeeper-3.4.10.tar.gz 得到文件:zookeeper-3.4.10
    2.2    得到 zk1 zk2 zk3
      cp -r zookeeper-3.4.10 /usr/local/kafkacloud/zk1 :将文件拷贝到/usr/local/kafkacloud/目录下并重命名为zk1
      cd /usr/local/kafkacloud/ :切换到/usr/local/kafkacloud/目录下
      【下面的命令均是在/usr/local/kafkacloud/目录下执行】
      cp -r /usr/local/kafkacloud/zk1 zk2
      cp -r /usr/local/kafkacloud/zk1 zk3
    2.3   修改配置文件

      
      分别拷贝zoo_sample.cfg得到zoo.cfg文件并修改zoo.cfg参数(zk1/zk2/zk3均需要)
      cp     zk1/conf/zoo_sample.cfg zoo.cfg
      vim   zk1/conf/zoo.cfg
      设置参数:(路径根据自己需求进行设置)
        dataDir=/usr/local/kafkacloud/zk1/zkdata (并在对应文件目录下创建 zkdata文件夹)
      添加 dataLogDir=/usr/local/kafkacloud/zk1/zkdatalog (并在对应文件目录下创建 zkdatalog文件夹)
      clientPort=2181 (zk1设置为 2181 zk2 :2181 zk3:2183)
      添加 (zk1 zk2 zk3的zoo.cfg文件里都需要添加这三行参数)
      server.1=192.168.10.13:2881:3881
      server.2=192.168.10.13:2882:3882
      server.3=192.168.10.13:2883:3883
      :wq (保存退出)
      (myid文件中的数字用于标记zookeeper,用于选举)
      执行 echo "1" > zk1/zkdata/myid :wq (保存退出)
      echo "2" > zk1/zkdata/myid :wq (保存退出)
      echo "3" > zk1/zkdata/myid :wq (保存退出)
    2.4 启动zookeeper进行选举
       zk1/bin/zkServer.sh start
       zk2/bin/zkServer.sh start
       zk3/bin/zkServer.sh start
    2.5 查看选举后的状态
      Mode: follower :表示跟随者
      Mode: leader :表示Leader
      zk1/bin/zkServer.sh status
      zk2/bin/zkServer.sh status
      zk3/bin/zkServer.sh status
  3. 写一个简单的zookeeper集群启动和停止脚本
    启动zookeeper集群脚本:
    vim start-zks.sh (文件名字克可随意选取)
    打开文件添加以下语句后保存退出
      #!/bin/bash
      /usr/local/kafkacloud/zk1/bin/zkServer.sh start
      /usr/local/kafkacloud/zk2/bin/zkServer.sh start
      /usr/local/kafkacloud/zk3/bin/zkServer.sh start
      关闭zookeeper集群脚本:
    vim stop-zks.sh (文件名字克可随意选取)
      #!/bin/bash
        /usr/local/kafkacloud/zk1/bin/zkServer.sh stop
        /usr/local/kafkacloud/zk2/bin/zkServer.sh stop
        /usr/local/kafkacloud/zk3/bin/zkServer.sh stop
      给创建的两个脚本文件赋予执行权限
      chmod +x start-zks.sh
      chmod +x stop-zks.sh
  4.防火墙端口开放

    
    执行 vim /etc/sysconfig/iptables (将 2181 2182 2183端口开放)
    文件示例:
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT (需要添加)
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2182 -j ACCEPT (需要添加)
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 2183 -j ACCEPT (需要添加)

    -A INPUT -j REJECT --reject-with icmp-host-prohibited

    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT   (这三句不能掉)



    :wq (保存退出
  重启防火墙: service iptables restart

  关于zoo.cfg配置文件参数说明

  tickTime:基本事件单元,以毫秒为单位。这个时间作为zookeeper服务器之间或客户端与服务器

      之间维持心跳的时间间隔,也就是每隔tickTime时长会发送一个心跳。

       dataDir: 存储内存中数据库快照的位置,即zookeeper保存数据的目录,默认情况下,zookeeper

                      将写数据的日志文件也保存在这个目录里。

       dataLogDir: 写数据的日志文件保存的目录。

       initLimit : 用来配置zookeeper接受客户端初始化连接时最长能忍受initLimit个心跳时间间隔数

       syncLimit : 这个参数表示Leader与Follwer之间发送消息,请求和应答时长,最长不能超过syncLimit个心跳时间间隔             

  server.A = B:C:D     A:表示这是第几个服务器

             B :表示这个服务器的IP

           C : 表示这个服务器与集群中的Leader服务器交换数据的端口

           D :用于选举的端口(C和D表示的两个端口号不能一样)


  


  

人生没有彩排,每天都是现场直播!
原文地址:https://www.cnblogs.com/northern-light/p/8109666.html