zookeeper安装与常用指令详解
来源:互联网 发布:苹果音乐编辑软件 编辑:程序博客网 时间:2024/05/27 16:41
ZooKeeper安装
- 首先保证已安装Java运行环境
- 下载ZooKeeper安装包,可以去ZooKpper官网下载最新的Stable版本,并解压到指定目录
- 配置zoo.cfg 解压成功后,在conf文件夹下复制一份新的zoo_sample.cfg并重新命名为zoo.cfg
具体操作流程如下
# cd /opt //安装到opt目录下# wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz //使用wget指令下载zk# tar -xzvf zookeeper-3.4.8.tar.gz //解压# mv zookeeper-3.4.8 zookeeper //重命名安装包# cd zookeeper/ // 进入安装包# cd conf/ //进入conf目录下# mv zoo_sample.cfg zoo.cfg //拷贝一份新的zoo-sample.cfg并命名为zoo.cfg
这样,整个Zookeeper的安装就完成了,下面看一下相关指令,学些如何启动,停止ZooKeeper的相关指令
zoo.cfg配置信息详解
# The number of milliseconds of each ticktickTime=2000 ##ZooKeeper的最小时间单元,单位毫秒(ms),默认值为3000# The number of ticks that the initial # synchronization phase can takeinitLimit=10 ##Leader服务器等待Follower启动并完成数据同步的时间,默认值10,表示tickTime的10倍# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5 ##Leader服务器和Follower之间进行心跳检测的最大延时时间,默认值5,表示tickTime的5倍# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/tmp/zookeeper ##ZooKeeper服务器存储快照文件的目录,必须配值,建议放置在var目录下# the port at which the clients will connectclientPort=2181 ## 服务器对外服务端口,默认值为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
ZooKeeper服务端指令
启动ZK服务
进入bin目录下,执行sh zkServer.sh start
如下如所示:
[root@localhost bin]# sh zkServer.sh startZooKeeper JMX enabled by defaultUsing config: /opt/zookeeper/bin/../conf/zoo.cfgStarting zookeeper ... STARTED
停止ZK服务
[root@localhost bin]# sh zkServer.sh stopZooKeeper JMX enabled by defaultUsing config: /opt/zookeeper/bin/../conf/zoo.cfgStopping zookeeper ... STOPPED
查看ZK服务状态
[root@localhost bin]# sh zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zookeeper/bin/../conf/zoo.cfgMode: standalone
常用四字命令
下面给出几个例子:
ruok
测试服务是否处于正确状态.如果确实如此,那么服务返回” imok”,否则不做任何相应.
[root@localhost bin]# echo ruok|nc 127.0.0.1 2181imok
回复imok表示已经启动
conf
输出相关服务配置的详细信息
[root@localhost bin]# echo conf|nc 127.0.0.1 2181clientPort=2181dataDir=/tmp/zookeeper/version-2dataLogDir=/tmp/zookeeper/version-2tickTime=2000maxClientCnxns=60minSessionTimeout=4000maxSessionTimeout=40000serverId=0
ZooKeeper客户端命令
连接到服务端
指令格式: sh zkCli.sh -server host:port
ZooKeeper客户端命令行zkCli.sh(zkCli.cmd)类似于shell,.当ZooKeeper服务成功之后,输入下面的命令,连接到ZooKeeper服务:
[root@localhost bin]# sh zkCli.sh -server 127.0.0.1:2181Connecting to 127.0.0.1:21812016-08-08 21:20:23,954 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.8--1, built on 02/06/2016 03:18 GMT2016-08-08 21:20:23,957 [myid:] - INFO [main:Environment@100] - Client environment:host.name=localhost2016-08-08 21:20:23,957 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.8.0_652016-08-08 21:20:23,960 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Oracle Corporation2016-08-08 21:20:23,960 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre2016-08-08 21:20:23,960 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/opt/zookeeper/bin/../build/classes:/opt/zookeeper/bin/../build/lib/*.jar:/opt/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/opt/zookeeper/bin/../lib/netty-3.7.0.Final.jar:/opt/zookeeper/bin/../lib/log4j-1.2.16.jar:/opt/zookeeper/bin/../lib/jline-0.9.94.jar:/opt/zookeeper/bin/../zookeeper-3.4.8.jar:/opt/zookeeper/bin/../src/java/lib/*.jar:/opt/zookeeper/bin/../conf:2016-08-08 21:20:23,960 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib2016-08-08 21:20:23,960 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp2016-08-08 21:20:23,960 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>2016-08-08 21:20:23,961 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux2016-08-08 21:20:23,961 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd642016-08-08 21:20:23,961 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.10.0-327.el7.x86_642016-08-08 21:20:23,961 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root2016-08-08 21:20:23,961 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root2016-08-08 21:20:23,961 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/opt/zookeeper/bin2016-08-08 21:20:23,963 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=127.0.0.1:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@7aec35a2016-08-08 21:20:24,024 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)Welcome to ZooKeeper!JLine support is enabled2016-08-08 21:20:24,268 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@876] - Socket connection established to 127.0.0.1/127.0.0.1:2181, initiating session2016-08-08 21:20:24,357 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 127.0.0.1/127.0.0.1:2181, sessionid = 0x1565613f3390000, negotiated timeout = 30000WATCHER::WatchedEvent state:SyncConnected type:None path:null
查看帮助信息
在连接到服务端后,输入help可以查看具体的帮助信息
[zk: localhost:2181(CONNECTED) 0] helpZooKeeper -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 close connect host:port
创建节点
使用create指令创建一个znode以及与他关联的字符串
[zk: localhost:2181(CONNECTED) 2] create /node1 value1Created /node1[zk: localhost:2181(CONNECTED) 3] create /node2 value2Created /node2
查看节点列表
使用ls指令查看当前ZK中所包含的内容
[zk: localhost:2181(CONNECTED) 4] ls /[node2, zookeeper, node1]
查看节点信息
使用get指令来确认znode是否包含我们所创建的字符串
[zk: localhost:2181(CONNECTED) 4] get /node1value1cZxid = 0x6ctime = Mon Aug 08 21:32:35 CST 2016mZxid = 0x6mtime = Mon Aug 08 21:32:35 CST 2016pZxid = 0x6cversion = 0dataVersion = 0aclVersion = 0ephemeralOwner = 0x0dataLength = 6numChildren = 0[zk: localhost:2181(CONNECTED) 5] get node3Command failed: java.lang.IllegalArgumentException: Path must start with / characte
为节点设置新值
使用set指令对znode所关联的字符串进行设置
node2 node1[zk: localhost:2181(CONNECTED) 6] set /node2 value3cZxid = 0x7ctime = Mon Aug 08 21:33:11 CST 2016mZxid = 0x8mtime = Mon Aug 08 21:36:38 CST 2016pZxid = 0x7cversion = 0dataVersion = 1aclVersion = 0ephemeralOwner = 0x0dataLength = 6numChildren = 0[zk: localhost:2181(CONNECTED) 7] get /node2value3cZxid = 0x7ctime = Mon Aug 08 21:33:11 CST 2016mZxid = 0x8mtime = Mon Aug 08 21:36:38 CST 2016pZxid = 0x7cversion = 0dataVersion = 1aclVersion = 0ephemeralOwner = 0x0dataLength = 6numChildren = 0
删除节点
使用delete指令删除znode
[zk: localhost:2181(CONNECTED) 5] delete /node2 [zk: localhost:2181(CONNECTED) 7] ls /[zookeeper, node1]
其他指令在具体使用实例时再做介绍
参考:http://blog.csdn.net/shenlan211314/article/details/6187029
http://blog.csdn.net/xiaolang85/article/details/13021339
http://blog.csdn.net/ganglia/article/details/11606807
0 0
- zookeeper安装与常用指令详解
- ZooKeeper常用指令集
- zookeeper常用指令
- hadoop安装与常用指令
- HVM的常用虚拟指令与详解
- zookeeper的安装与配置详解
- Linux操作系统安装与常用指令介绍
- zookeeper: 入门 - 3 - API常用函数功能与参数详解
- zookeeper API常用函数功能与参数详解
- Git 常用指令详解
- git 常用指令详解
- ImageMagick常用指令详解
- ImageMagick常用指令详解
- ImageMagick常用指令详解
- ImageMagick常用指令详解
- GIT常用指令详解
- 常用AT指令详解
- zookeeper 安装配置详解
- Divisibility
- 集合、数组 详解
- 关于listview 的setOnItemClickListener失效问题
- Get与Post的区别
- NDK环境搭建
- zookeeper安装与常用指令详解
- LeetCode-115.Distinct Subsequences
- 日期格式各字母的含义
- RecyclerView 和 ListView的区别
- react学习之redux(三)
- 关于mongodb的一些总结
- 杭电1231 最大连续子序列
- JavaScript判断立方数字
- 图形编程的基础知识——渲染流程(pipeline)