zoukankan      html  css  js  c++  java
  • Zookeeper集群搭建及常用命令

    集群搭建

    参考如下博文

    https://blog.csdn.net/chouya7686/article/details/100661853

    https://www.cnblogs.com/zhangshiwen/p/12945170.html

    https://www.cnblogs.com/ysocean/p/9860529.html

    1、下载zookeeper安装包,并解压(这里就直接省略了)

    TIPS:我这里下载并解压到了 /usr/local 下

    2、检查是否安装了JDK,如果没有,需要先安装 JDK

    3、在zookeeper目录下,新建 ./data 目录

    4、将 zoo_sample.cfg 文件复制并重命名为 zoo.cfg 文件

    我的配置如下:(改动已经标红)

    # The number of milliseconds of each tick
    tickTime=2000
    # The number of ticks that the initial
    # synchronization phase can take
    initLimit=10
    # The number of ticks that can pass between
    # sending a request and getting an acknowledgement
    syncLimit=5
    # the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just
    # example sakes.
    dataDir=/usr/local/zookeeper-3.4.14/data
    # the port at which the clients will connect
    clientPort=2181
    # the maximum number of client connections.
    # increase this if you need to handle more clients
    #maxClientCnxns=60
    #
    # Be sure to read the maintenance section of the
    # administrator guide before turning on autopurge.
    #
    # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # The number of snapshots to retain in dataDir
    #autopurge.snapRetainCount=3
    # Purge task interval in hours
    # Set to "0" to disable auto purge feature
    #autopurge.purgeInterval=1
    # 如果是单机部署,这部分配置不需要
    server.0=192.168.10.131:2182:3888
    server.1=192.168.10.132:2182:3888
    server.2=192.168.10.133:2182:3888

     说明:

    server.A=B:C:D

        A:其中 A 是一个数字,表示这个是服务器的编号;

        B:是这个服务器的 ip 地址;

        C:Leader选举的端口;

        D:Zookeeper服务器之间的通信端口。

      我们需要修改的第一个是 dataDir ,在指定的位置处创建好目录。

      第二个需要新增的是 server.A=B:C:D 配置,其中 A 对应下面我们即将介绍的myid 文件。B是集群的各个IP地址,C:D 是端口配置。

    注意:

      D的端口之所以没有配成 2181 是因为 clientPort 占用了,如果配置成 2181,会报 Exception when following the leader java.io.EOFException 错误

    5、创建 myid 文件

    在上一步中配置的 dataDir 下新建一个 myid 文件,文件内容为上一步 server 配置的对应 A 数字,

    6、配置环境变量

     并执行 source /etc/profile 使环境变量生效

    7、修改 bin/zkServer.sh ,添加自定义的 log 生成路径

    添加如下内容:(新增部分已标红)

    if [ $ZK_HOME ] ; then
        ZOO_LOG_DIR="$ZK_HOME/log"
    fi
    
    if [ ! -w "$ZOO_LOG_DIR" ] ; then
        mkdir -p "$ZOO_LOG_DIR"
    fi
    
    _ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.out"

    8、分别启动各台服务器的zookeeper

    可能出现的错误:

    1、防火墙拦截了通信端口

    2、zoo.cfg 的server.x 未与配置保持一致

    启动成功后,可以通过

    zkServer.sh status 查看集群状态:

     

     

     如果关闭了node3服务器上的 zookeeper,会发现剩下的两台会重新选举出一台 leader

    zookeeper 客户端常用命令

    1、启动客户端:

    bin/zkCli.sh [-server host:port]

    2、常用命令:

    // 查看节点所包含的节点
    ls path
    
    // 创建一个新节点
    // -e 创建临时节点
    // -s 创建有序节点
    create [-e] [-s] path [data]
    
    // 查看节点上的值
    get path 
    
    // 设置节点上的值
    set path data
    
    // 删除节点(只能删除没有下级节点的类型)
    delete path
    
    // 删除节点(递归删除下级节点)
    rmr path
  • 相关阅读:
    谈谈对Javascript构造函数和原型对象的理解
    JS 实现无缝滚动动画原理(初学者入)
    $($('.className').html( )选择器的工作原理
    jquery中attr和prop的区别
    用for循环筛选奇偶表格栏
    insertBefore 和 insetAfter函数详解
    getNextElement( )函数——获取下一个特定的元素节点
    IDEA + SSH OA 第一天(项目收获:Hibernate XML)
    IDEA + SSH OA 第一天(IDEA 文件夹类型了解)
    IDEA + SSH OA 第一天(Hibernate : Mapping (RESOURCE) not found)
  • 原文地址:https://www.cnblogs.com/lkc9/p/13631799.html
Copyright © 2011-2022 走看看