安装Zookeeper

安装环境:

10.0.1.82

10.0.1.83

10.0.1.84

 

第一步:下载Zookeeper

下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/,目前的稳定版本是3.4.6

第二步:解压Zookeeper

tar zxvf zookeeper-3.4.6.tar.gz

第三步:配置conf/zoo.cfg文件

 

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/hadoop/zoodata/data
dataLogDir=/home/hadoop/zoodata/dataLog
clientPort=2181
server.1=10.0.1.82:2888:3888
server.2=10.0.1.83:2888:3888
server.3=10.0.1.84:2888:3888

以上配置比较简单,如果有更多的需求,可以查考:Zookeeper配置文件(全)

 

第四步:添加myid

在conf/zoo.cfg配置文件中的dataDir路径下,添加myid文件,里面写入数字,集群中各个数字不能重复。例如:
10.0.1.82的myid的数字为1
10.0.1.83的myid的数字为2
10.0.1.84的myid的数字为3

第五步:部署成功,通过./zkServer.sh start命令依次启动每台服务器的Zookeeper。

 

Zookeeper命令

zkCleanup.sh    清理事务日志和快照

zkCli.sh              Zookeeper的shell客户端,如果是连接本机启动为默认端口2181的的Zookeeper,直接打入zkCli.sh命令,不需要任何参数

zkEnv.sh             调用于运行时的环境变量,如classpath的设置,堆的大小设置等

zkServer.sh        执行Zookeeper的启动、停止及状态查看等操作

 

zkServer.sh

 

#启动
./zkServer.sh start
#停止
./zkServer.sh stop
#重启
./zkServer.sh restart

 

# ./zkServer.sh status
JMX enabled by default
Using config: /home/hadoop/apache/zookeeper-3.4.5/bin/../conf/zoo.cfg
Mode: follower

 

# ./zkServer.sh print-cmd
JMX enabled by default
Using config: /home/hadoop/apache/zookeeper-3.4.5/bin/../conf/zoo.cfg
/usr/local/cluster/jdk1.8.0_45/bin/java -Dzookeeper.log.dir="." -Dzookeeper.root.logger="INFO,CONSOLE" -cp "/home/hadoop/apache/zookeeper-3.4.5/bin/../build/classes:/home/hadoop/apache/zookeeper-3.4.5/bin/../build/lib/*.jar:/home/hadoop/apache/zookeeper-3.4.5/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/hadoop/apache/zookeeper-3.4.5/bin/../lib/slf4j-api-1.6.1.jar:/home/hadoop/apache/zookeeper-3.4.5/bin/../lib/netty-3.2.2.Final.jar:/home/hadoop/apache/zookeeper-3.4.5/bin/../lib/log4j-1.2.15.jar:/home/hadoop/apache/zookeeper-3.4.5/bin/../lib/jline-0.9.94.jar:/home/hadoop/apache/zookeeper-3.4.5/bin/../zookeeper-3.4.5.jar:/home/hadoop/apache/zookeeper-3.4.5/bin/../src/java/lib/*.jar:/home/hadoop/apache/zookeeper-3.4.5/bin/../conf:"  -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain "/home/hadoop/apache/zookeeper-3.4.5/bin/../conf/zoo.cfg" > "./zookeeper.out" 2>&1 < /dev/null

 

 

 

zkCli.sh

 

./zkCli.sh -server 10.0.1.84:2181
help
ZooKeeper -server host:port cmd args
    stat path [watch]           #查看指定路径的状态
    set path data [version]     #设置指定路径的值
    ls path [watch]             #查看所包含节点
    delquota [-n|-b] path
    ls2 path [watch]            #除了查看节点还能看到其他一些状态信息
    setAcl path acl
    setquota -n|-b val path
    history                    #历史操作
    redo cmdno
    printwatches on|off
    delete path [version]     #删除节点
    sync path                 #同步节点信息
    listquota path
    rmr path                  #删除节点,删除全部的版本号
    get path [watch]          #获取节点信息
    create [-s] [-e] path data acl   #创建节点
    addauth scheme auth      
    quit                     #退出
    getAcl path              #获取指定路径ACL
    close                    #关闭  
    connect host:port        #根据host+端口,连接到指定服务器

 

 

 

zookeeper四字命令

Zookeeper支持某些特定四字命令,大多数都是查询命令,用于查询Zookeeper的状态和相关信息。用户可以通过telnet或者是nc向zookeeper提交命令。

 

命令           

描述

conf

查看Zookeeper服务配置的详细信息

cons

查看所有连接到Zookeeper服务器的客户端的连接和会话信息。包括“接受 / 发送”的包数量、会话 id、操作延迟、最后的操作执行等等信息。

dump

查看未经处理的会话和临时节点。

envi

查看服务环境的详细信息(区别于 conf命令)。

reqs

查看未经处理的请求

ruok

测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应。

stat

输出关于性能和连接的客户端的列表。

wchs

列出服务器 watch的详细信息。

wchc

通过 session列出服务器 watch的详细信息,它的输出是一个与watch相关的会话的列表。

wchp

通过路径列出服务器 watch的详细信息。它输出一个与 session相关的路径。

telnet示例:

 

[root@hadoopcluster83 ~]# telnet 10.0.1.83 2181
Trying 10.0.1.83...
Connected to 10.0.1.83.
Escape character is '^]'.
stat
Zookeeper version: 3.4.5-1392090, built on 09/30/2012 17:52 GMT
Clients:
 /10.0.1.79:51819[1](queued=0,recved=51248,sent=51248)
 /10.0.1.83:53646[0](queued=0,recved=1,sent=0)
 /10.0.1.78:54749[1](queued=0,recved=36518,sent=36518)

Latency min/avg/max: 0/0/151
Received: 87774
Sent: 87773
Connections: 3
Outstanding: 0
Zxid: 0x300000016
Mode: leader
Node count: 8
Connection closed by foreign host.


nc示例:

 

 

[root@hadoopcluster83 ~]# echo wchs|nc 127.0.0.1 2181
2 connections watching 1 paths
Total watches:2

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐