zoukankan      html  css  js  c++  java
  • ZooKeeper-安装和运行

    ZooKeeper安装和运行

    1. 下载安装包 zookeeper-3.4.9.tar.gz

    2. 解压

    tar -zxvf zookeeper-3.4.9.tar.gz


    ZooKeeper提供了几个能够运行服务并与之交互的二进制可执行文件,可以很方便地将包含这些二进制文件的目录加入命令行路径

    3. 配置环境变量(需要JDK1.6及以上版本)

    vim ~/.bash_profile
    export ZOOKEEPER_HOME=/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9
    export PATH=$PATH:$M2_HOME/bin:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin
    source ~/.bash_profile


    在运行ZooKeeper服务之前,我们需要创建一个配置文件。这个配置文件习惯上被命名为zoo.cfg,并被保存在conf子目录中,配置文件示例如下

    # 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=/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/tmp
    # 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.1=localhost:2888:3888


    这是一个标准的Java属性文件,其中tickTimedataDirclientPort这三个属性是以独立模式运行ZooKeeper所需的最低要求。简单地说,tickTime属性指定了ZooKeeper中的基本时间单元(以毫秒为单位);dataDir属性指定了ZooKeeper存储持久数据的本地文件系统位置;clientPort属性指定了ZooKeeper用于监听客户端连接的端口(通常使用2181端口)。用户应该将dataDir属性的值修改为自己系统所要求的合适位置。

    定义好合适的配置文件之后,我们现在可以启动一个本地ZooKeeper服务器

    FengZhendeMacBook-Pro:bin FengZhen$ zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED

    使用nc(telnet也可以)发送ruok(Are you OK?)到监听端口,检查ZooKeeper是否正在运行

    FengZhendeMacBook-Pro:bin FengZhen$ echo ruok | nc localhost 2181
    imok

    imok是ZooKeeper在说“I’m OK”。
    还有其他一些用于管理ZooKeeper的命令,都采用类似的四字母组合

    服务器状态

    1.ruok: 如果服务器正在运行并且未处于出错状态,则输出imok
    echo ruok | nc localhost 2181
    imok
    2.conf: 输出服务器的配置信息(根据配置文件zoo.cfg)
    echo conf | nc localhost 2181
    clientPort=2181
    dataDir=/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/tmp/version-2
    dataLogDir=/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/tmp/version-2
    tickTime=2000
    maxClientCnxns=60
    minSessionTimeout=4000
    maxSessionTimeout=40000
    serverId=0
    3.envi:输出服务器的环境信息,包括ZooKeeper版本、Java版本和其他系统属性
    echo envi | nc localhost 2181
    Environment:
    zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT
    host.name=192.168.1.109
    java.version=1.8.0_162
    java.vendor=Oracle Corporation
    java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/jre
    java.class.path=/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../build/classes:/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../build/lib/*.jar:/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../lib/slf4j-log4j12-1.6.1.jar:/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../lib/netty-3.10.5.Final.jar:/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../zookeeper-3.4.9.jar:/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../src/java/lib/*.jar:/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin/../conf:
    java.library.path=/Users/FengZhen/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
    java.io.tmpdir=/var/folders/tr/vc5hfpsd2c56s7m9wh93401h0000gn/T/
    java.compiler=<NA>
    os.name=Mac OS X
    os.arch=x86_64
    os.version=10.13.4
    user.name=FengZhen
    user.home=/Users/FengZhen
    user.dir=/Users/FengZhen/Desktop/Hadoop/zookeeper-3.4.9/bin
    4.srvr:输出服务器的统计信息,包括延迟统计、znode的数量和服务器运行模式(standalone、leader或follower)
    echo srvr | nc localhost 2181
    Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
    Latency min/avg/max: 0/0/0
    Received: 4
    Sent: 3
    Connections: 1
    Outstanding: 0
    Zxid: 0x9cf
    Mode: standalone
    Node count: 154
    5.stat:输出服务器的统计信息和已连接的客户端
    echo stat | nc localhost 2181
    Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
    Clients:
    /0:0:0:0:0:0:0:1:63401[0](queued=0,recved=1,sent=0)
    
    Latency min/avg/max: 0/0/0
    Received: 5
    Sent: 4
    Connections: 1
    Outstanding: 0
    Zxid: 0x9cf
    Mode: standalone
    Node count: 154
    6.srst:重置服务器的统计信息
    echo srst | nc localhost 2181
    Server stats reset.
    7.isro:显示服务器是否处于只读(ro)模式(由于网络分区),或者读写(rw)模式
    echo isro | nc localhost 2181
    rw

    客户端连接

    1.dump:列出集合体中的所有会话和短暂znode。必须连接到leader才能够使用此命令
    echo dump | nc localhost 2181
    2.cons:列出所有服务器客户端的连接统计信息
    echo cons | nc localhost 2181
    3.crst:重置连接统计信息
    echo crst | nc localhost 2181

    观察

    1.wchs:列出服务器上所有观察的摘要信息
    echo wchs | nc localhost 2181
    2.wchc:按连接列出服务器上所有的观察。注意:如果观察的数量较多,此命令会影响服务器的性能
    echo wchc | nc localhost 2181
    3.wchp:按znode路径列出服务器上所有的观察。注意:如果观察的数量较多,此命令会影响服务器的性能
    echo wchp | nc localhost 2181

    监控

    1.mntr:按Java属性格式列出服务器统计信息。适合于用作Ganglia和Nagios等监控系统的信息源。
  • 相关阅读:
    linux内存不足导致java进程被kill掉
    记一次centos服务器DNS引起的网络问题
    记consul集群和spring cloud集成遇到的问题。
    记一次url未encode遇到的问题
    十六周总结
    十五周总结
    计算最长英语单词链
    大道至简阅读笔记02
    大道至简阅读笔记01
    用户体验评价之搜狗输入法
  • 原文地址:https://www.cnblogs.com/EnzoDin/p/9782793.html
Copyright © 2011-2022 走看看