您的位置:首页 > 其它

Zookeeper集群安装及命令

2015-11-27 15:25 357 查看

安装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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: