zoukankan      html  css  js  c++  java
  • linux中安装zookeeper集群(伪集群)

    说明:   

      1)zookeeper集群最少需要三个节点,因为zookeeper可用条件就是最少一半以上的节点可用就表示集群可用,

        如果是2个节点,那么挂掉一个,剩下一个也就是一半节点可用,就没有超过半数,集群就不可以用了,

        如果是3个节点,就算挂掉一个还剩两个,超过半数可用,满足要求。

      2)节点数量最好奇数,因为 4个也只能挂掉一个,三个也只能挂掉一个,

        同理5个节点6个节点也最多只能挂掉2个,所以偶数没有太大必要。

        zookeeper的集群著有一个leder,其他都是slave或者ovser,

        但是每一个都有独立的保存完整数据,不像redis每个主节点各保存一部分。

    安装前提: 

      1,已经安装了zookeer单机

      2,已安装了jdk和jdk环境变量(因为zookeeper是一个java编写的项目)

    安装大概步骤:

      1)创建3个节点目录

      2)修改配置文件

      3)启动集群

    正文:

    第一步:创建节点目录

    #进入到安装目录
    cd /home/comuser/soft/

      #创建集群目录
      mkdir /home/comuser/soft/zkcluster

      #创建三个节点目录
      mkdir /home/comuser/soft/zkcluster/z1
      mkdir /home/comuser/soft/zkcluster/z2
      mkdir /home/comuser/soft/zkcluster/z3

      #创建三个节点的data目录
      mkdir /home/comuser/soft/zkcluster/z1/data
      mkdir /home/comuser/soft/zkcluster/z2/data
      mkdir /home/comuser/soft/zkcluster/z3/data

      #创建三个节点的log目录
      mkdir /home/comuser/soft/zkcluster/z1/log
      mkdir /home/comuser/soft/zkcluster/z2/log
      mkdir /home/comuser/soft/zkcluster/z3/log

    第二步:修改配置文件

      1)分别z1,z2,z3创建zoo.cfg文件
    #在z1创建zoo.cfg文件
    vi
    zoo.cfg
    ####在#zoo.cfg添加以下内容:

    #心跳时间,心跳间隔2000ms tickTime
    =2000 #初始化客户端连接次数,不能超过10*2000ms,超过时间客户端请求失败 initLimit=10 #集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数。 syncLimit=5 #数据和快照位置保存位置 dataDir=/home/comuser/soft/zkcluster/z1/data #日志保存位置 dataLogDir=/home/comuser/soft/zkcluster/z1/log #一个ip所对应的客户机和zk服务器维持连接个数最大值。 maxClientCnxns=5000 #客户端连接端口 clientPort=3181 #集群配置 server.1=192.168.100.10:20881:30881 server.2=192.168.100.10:20882:30882 server.3=192.168.100.10:20883:30883

      同样在z2,z3创建zoo.cfg文件,内容同上,修改dataDir,dataLogDir的值,端口分别为3182,3183即可.

      2)创建节点编号,执行一下命令即可

      echo 1>/home/comuser/soft/zkcluster/z1/data/myid
      echo 2>/home/comuser/soft/zkcluster/z2/data/myid
      echo 3>/home/comuser/soft/zkcluster/z3/data/myid

     第三步:启动集群

      因为集群的3个实例挨个启动,所以编写一个脚本,同意启动,关闭,连接等。

      1)在zkcluster目录创建启动脚本zkStart.sh

    #创建文件
    vi zkStart.sh

    #文件内容如下:
    zkServer.sh start ./z1/zoo.cfg
    zkServer.sh start ./z2/zoo.cfg
    zkServer.sh start ./z3/zoo.cfg

      2)在zkcluster目录创建关闭脚本zkStop.sh

    #创建文件
    vi zkStop.sh

    #文件内容如下:
    zkServer.sh stop ./z1/zoo.cfg
    zkServer.sh stop ./z2/zoo.cfg
    zkServer.sh stop ./z3/zoo.cfg

      3)在zkcluster目录创建连接客户端脚本zkClis.sh

    #创建连接集群客户端脚本
    vi zkClis.sh
    #文件内容如下
    zkCli.sh -server 192.168.100.10:3181,192.168.100.10:3182,192.168.100.10:3183

      4)然后对上面三个文件进行赋权,变成可执行文件

    chmod 777 zkStart.sh
    chmod 777 zkStop.sh
    chmod 777 zkClis.sh

      5)启动集群

    ./zkStart.sh

      6)登录集群

    #登录集群
    ./zkClis.sh
    #退出集群
    quit

      7)验证是否正常

    #登录节点1,
    zkCli.sh -server localhost:3181
    #存入数据
    create /zk123 123
    #退出登录
    quit
    #登录3节点
    zkCli.sh -server localhost:3183
    #获取测试数据
    ls /zk123

    #能回显123表示集群搭建成功

  • 相关阅读:
    大三小学期 Android开发的一些经验
    高德地图显示不出来
    imageview无法显示图片:java.lang.RuntimeException: Canvas: trying to draw too large(281520000bytes) bitmap
    设置ImageView显示的图片铺满全屏
    大三小学期 web前端开发的一些小经验
    HTML5----响应式(自适应)网页设计
    div闪一下就消失
    登录界面输入判断为空的bug
    Solr之.net操作
    Java Web之路(一)Servlet
  • 原文地址:https://www.cnblogs.com/huayuyou/p/15098022.html
Copyright © 2011-2022 走看看