zoukankan      html  css  js  c++  java
  • zookeeper 在linux上安装 & 启动 & 基本操作

    一、安装java

    sudo apt-get update
    sudo apt-get install default-jre

    二、安装zookeeper

      下载

    wget "http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz"

      解压

    tar -xf zookeeper-3.4.14.tar.gz 

      创建配置文件

    cd zookeeper-3.4.14/conf/
    cp zoo_sample.cfg zoo.cfg

      启动

    cd zookeeper-3.4.14/bin/
    ./zkServer.sh start

    三、伪集群模式

      拷贝zookeeper

    cp zookeeper-3.4.14 zookeeper-1 -r
    cp zookeeper-3.4.14 zookeeper-2 -r
    cp zookeeper-3.4.14 zookeeper-3 -r

      修改配置:修改的为各自目录conf下的zoo.cfg,将dataDir、dataLogDir及clientPort修改为各自不同的,并增加ip列表。如zk1的配置:

    # 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=/mnt/zookeeper-1/data
    dataLogDir=/mnt/zookeeper-1/log
    # the port at which the clients will connect
    clientPort=12181
    # 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.1=127.0.0.1:12888:13888
    server.2=127.0.0.1:14888:15888
    server.2=127.0.0.1:16888:17888

      创建data、log目录与myid文件

    mkdir -p  /mnt/zookeeper-1/data
    mkdir -p  /mnt/zookeeper-2/data
    mkdir -p  /mnt/zookeeper-3/data
    mkdir -p  /mnt/zookeeper-1/log
    mkdir -p  /mnt/zookeeper-2/log
    mkdir -p  /mnt/zookeeper-3/log
    echo 1 > /mnt/zookeeper-1/data/myid
    echo 2 > /mnt/zookeeper-2/data/myid
    echo 3 > /mnt/zookeeper-3/data/myid

      分别启动三个zk

    ./zookeeper-1/bin/zkServer.sh start
    ./zookeeper-2/bin/zkServer.sh start
    ./zookeeper-3/bin/zkServer.sh start

      查看状态

    root@iZwz9hextk0ee6gik32377Z:~/zookeeper# for((idx=1;idx<=3;++idx)); do ./zookeeper-${idx}/bin/zkServer.sh start; done    
    ZooKeeper JMX enabled by default
    Using config: /root/zookeeper/zookeeper-1/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    ZooKeeper JMX enabled by default
    Using config: /root/zookeeper/zookeeper-2/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    ZooKeeper JMX enabled by default
    Using config: /root/zookeeper/zookeeper-3/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    root@iZwz9hextk0ee6gik32377Z:~/zookeeper# for((idx=1;idx<=3;++idx)); do ./zookeeper-${idx}/bin/zkServer.sh status; done     
    ZooKeeper JMX enabled by default
    Using config: /root/zookeeper/zookeeper-1/bin/../conf/zoo.cfg
    Mode: follower
    ZooKeeper JMX enabled by default
    Using config: /root/zookeeper/zookeeper-2/bin/../conf/zoo.cfg
    Mode: leader
    ZooKeeper JMX enabled by default
    Using config: /root/zookeeper/zookeeper-3/bin/../conf/zoo.cfg
    Mode: follower

    四、集群模式

      与伪集群模式类似,区别是部署在不同机器。

    五、基本操作

      连接zk。执行bin目录下的zkCli.sh。由于部署时ip已不是默认ip 2181,需要指定ip port

    ./zkCli.sh -server 127.0.0.1:12181 
    [zk: 127.0.0.1:12181(CONNECTED) 5] ls /    
    [zookeeper]
    [zk: 127.0.0.1:12181(CONNECTED) 6] create /test test
    Created /test
    [zk: 127.0.0.1:12181(CONNECTED) 7] ls / 
    [zookeeper, test]
    [zk: 127.0.0.1:12181(CONNECTED) 8] get /test
    test
    cZxid = 0x400000006
    ctime = Mon Apr 06 22:01:48 CST 2020
    mZxid = 0x400000006
    mtime = Mon Apr 06 22:01:48 CST 2020
    pZxid = 0x400000006
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 4
    numChildren = 0
    [zk: 127.0.0.1:12181(CONNECTED) 9] delete /test
    [zk: 127.0.0.1:12181(CONNECTED) 10] ls /    
    [zookeeper]
    [zk: 127.0.0.1:12181(CONNECTED) 11] get /test
    Node does not exist: /test
    [zk: 127.0.0.1:12181(CONNECTED) 12] quit
    Quitting...

     六、字段含义

    cZxid
      创建此znode的zxid

    ctime
      创建此znode的时间。
    mZxid
      最后修改此znode的zxid。
    mtime
      最后一次修改此znode的时间。

    pZxid

      最后一次修改子节点的zxid。

    cversion
      此znode的子节点的更改次数。(实际操作发现是创建/删除一级子节点)
    dataVersion
      此znode的数据更改的次数。
    aclVersion
      更改此znode的ACL的次数。
    ephemeralOwner
      如果znode是临时节点,则此znode所有者的会话id。如果它不是一个临时节点,则为零。
    dataLength
      此znode的数据字段的长度。
    numChildren
      这个znode的子节点的数目。

      

    参考链接:

      http://zookeeper.apache.org/doc/r3.3.3/zookeeperProgrammers.html

  • 相关阅读:
    HTML DOM教程 14HTML DOM Document 对象
    HTML DOM教程 19HTML DOM Button 对象
    HTML DOM教程 22HTML DOM Form 对象
    HTML DOM教程 16HTML DOM Area 对象
    ubuntu 11.04 问题 小结
    VC6.0的 错误解决办法 小结
    boot.img的解包与打包
    shell里 截取字符串
    从零 使用vc
    Imagemagick 对图片 大小 和 格式的 调整
  • 原文地址:https://www.cnblogs.com/chinxi/p/12649964.html
Copyright © 2011-2022 走看看