ZooKeeper命令行
ZooKeeper客户端有C语言和Java两个版本。
ZooKeeper的命令在/usr/lib/zookeeper/bin文件夹下。
运行Java版本的客户端使用bash zkCli.sh -server IP:port ,运行C语言版本的使用./cli_mt IP:port,下面介绍Java版本的,C语言版差不多。
查看具体结点信息
bash zkServer.sh status
root@ubuntu:/usr/lib/zookeeper/bin# bash zkServer.sh status
JMX enabled by default
Using config: /usr/lib/zookeeper/bin/../conf/zoo.cfg
Mode: standalone
查看哪个结点被选作leader或者follower
echo stat|nc 127.0.0.1 2181
root@ubuntu:/usr/lib/zookeeper/bin# echo stat|nc 127.0.0.1 2181
Zookeeper version: 3.4.5-cdh4.4.0--1, built on 09/04/2013 01:46 GMT
Clients:
/127.0.0.1:57736[0](queued=0,recved=1,sent=0)
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 4
测试是否启动了该Server,若回复imok表示已经启动
echo ruok|nc 127.0.0.1 2181
root@ubuntu:/usr/lib/zookeeper/bin# echo ruok|nc 127.0.0.1 2181
imok
ZooKeeper命令行类似于shell。
当启动 ZooKeeper 服务成功之后,输入下述命令,连接到 ZooKeeper 服务:
bash zkCli.sh –server 192.168.255.133:2181
root@ubuntu:/usr/lib/zookeeper/bin# bash zkCli.sh -server 192.168.255.133:2181
Connecting to 192.168.255.133:2181
2013-09-12 15:38:39,654 [myid:] - INFO [main:Environment@100] - Client environment:zookeeper.version=3.4.5-cdh4.4.0--1, built on 09/04/2013 01:46 GMT
2013-09-12 15:38:39,657 [myid:] - INFO [main:Environment@100] - Client environment:host.name=ubuntu
2013-09-12 15:38:39,659 [myid:] - INFO [main:Environment@100] - Client environment:java.version=1.6.0_43
2013-09-12 15:38:39,660 [myid:] - INFO [main:Environment@100] - Client environment:java.vendor=Sun Microsystems Inc.
2013-09-12 15:38:39,662 [myid:] - INFO [main:Environment@100] - Client environment:java.home=/usr/local/jdk1.6.0_43/jre
2013-09-12 15:38:39,664 [myid:] - INFO [main:Environment@100] - Client environment:java.class.path=/usr/lib/zookeeper/bin/../build/classes:/usr/lib/zookeeper/bin/../build/lib/*.jar:/usr/lib/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/lib/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/lib/zookeeper/bin/../lib/netty-3.2.2.Final.jar:/usr/lib/zookeeper/bin/../lib/log4j-1.2.15.jar:/usr/lib/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/lib/zookeeper/bin/../zookeeper-3.4.5-cdh4.4.0.jar:/usr/lib/zookeeper/bin/../src/java/lib/*.jar:/usr/lib/zookeeper/bin/../conf:
2013-09-12 15:38:39,665 [myid:] - INFO [main:Environment@100] - Client environment:java.library.path=/usr/local/jdk1.6.0_43/jre/lib/amd64/server:/usr/local/jdk1.6.0_43/jre/lib/amd64:/usr/local/jdk1.6.0_43/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2013-09-12 15:38:39,667 [myid:] - INFO [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2013-09-12 15:38:39,668 [myid:] - INFO [main:Environment@100] - Client environment:java.compiler=<NA>
2013-09-12 15:38:39,669 [myid:] - INFO [main:Environment@100] - Client environment:os.name=Linux
2013-09-12 15:38:39,670 [myid:] - INFO [main:Environment@100] - Client environment:os.arch=amd64
2013-09-12 15:38:39,670 [myid:] - INFO [main:Environment@100] - Client environment:os.version=3.2.0-51-generic
2013-09-12 15:38:39,672 [myid:] - INFO [main:Environment@100] - Client environment:user.name=root
2013-09-12 15:38:39,672 [myid:] - INFO [main:Environment@100] - Client environment:user.home=/root
2013-09-12 15:38:39,673 [myid:] - INFO [main:Environment@100] - Client environment:user.dir=/usr/lib/zookeeper/bin
2013-09-12 15:38:39,674 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=192.168.255.133:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@2666e815
Welcome to ZooKeeper!
JLine support is enabled
2013-09-12 15:38:39,720 [myid:] - INFO [main-SendThread(192.168.255.133:2181):ClientCnxn$SendThread@966] - Opening socket connection to server 192.168.255.133/192.168.255.133:2181. Will not attempt to authenticate using SASL (Unable to locate a login configuration)
2013-09-12 15:38:39,729 [myid:] - INFO [main-SendThread(192.168.255.133:2181):ClientCnxn$SendThread@849] - Socket connection established to 192.168.255.133/192.168.255.133:2181, initiating session
[zk: 192.168.255.133:2181(CONNECTING) 0] 2013-09-12 15:38:39,748 [myid:] - INFO [main-SendThread(192.168.255.133:2181):ClientCnxn$SendThread@1207] - Session establishment complete on server 192.168.255.133/192.168.255.133:2181, sessionid = 0x141102059a70001, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
输入help显示帮助信息:
help
ZooKeeper -server host:port cmd args
connect host:port
get path [watch]
ls path [watch]
set path data [version]
rmr path
delquota [-n|-b] path
quit
printwatches on|off
create [-s] [-e] path data acl
stat path [watch]
close
ls2 path [watch]
history
listquota path
setAcl path acl
getAcl path
sync path
redo cmdno
addauth scheme auth
delete path [version]
setquota -n|-b val path
[zk: 192.168.255.133:2181(CONNECTED) 1]
连接成功后,系统会输出 ZooKeeper 的相关环境以及配置信息,并在屏幕输出“ Welcome to ZooKeeper ”等信息。
命令行工具的一些简单操作如下:
1 )使用 ls 命令来查看当前 ZooKeeper 中所包含的内容:
[zk: 202.115.36.251:2181(CONNECTED) 1] ls /
[zookeeper]
2 )创建一个新的 znode ,使用 create /zk myData 。这个命令创建了一个新的 znode 节点“ zk ”以及与它关联的字符串:
[zk: 202.115.36.251:2181(CONNECTED) 2] create /zk "myData"
Created /zk
3 )我们运行 get 命令来确认 znode 是否包含我们所创建的字符串:
[zk: 202.115.36.251:2181(CONNECTED) 3] get /zk
cZxid = 0x6
ctime = Thu Sep 12 15:49:16 CST 2013
mZxid = 0x7
mtime = Thu Sep 12 15:49:38 CST 2013
pZxid = 0x6
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 0
4 )下面我们通过 set 命令来对 zk 所关联的字符串进行设置:
[zk: 202.115.36.251:2181(CONNECTED) 4] set /zk "zsl"
"myData"
cZxid = 0x4
ctime = Thu Sep 12 15:46:37 CST 2013
mZxid = 0x4
mtime = Thu Sep 12 15:46:37 CST 2013
pZxid = 0x4
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0
5 )下面我们将刚才创建的 znode 删除:
[zk: 202.115.36.251:2181(CONNECTED) 5] delete /zk
当然,我们还可以创建有曾次的目录,比如使用create /zk/node1在zk目录下创建新的目录node1
[zk: 192.168.255.133:2181(CONNECTED) 18] create /zk/node1 "node1"
Created /zk/node1
[zk: 192.168.255.133:2181(CONNECTED) 19] ls /zk
[node1]
使用ZooKeeper四字命令
传递四个字母的字符串给ZooKeeper,ZooKeeper会返回一些有用的信息。
ZooKeeper 四字命令 |
功能描述 |
conf |
输出相关服务配置的详细信息。 |
cons |
列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息。 |
dump |
列出未经处理的会话和临时节点。 |
envi |
输出关于服务环境的详细信息(区别于 conf 命令)。 |
reqs |
列出未经处理的请求 |
ruok |
测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应。 |
stat |
输出关于性能和连接的客户端的列表。 |
wchs |
列出服务器 watch 的详细信息。 |
wchc |
通过 session 列出服务器 watch 的详细信息,它的输出是一个与watch 相关的会话的列表。 |
wchp |
通过路径列出服务器 watch 的详细信息。它输出一个与 session相关的路径。 |
例如:
root@ubuntu:/usr/lib/zookeeper/bin# echo conf |nc 192.168.255.133 2181
clientPort=2181
dataDir=/var/lib/zookeeper/version-2
dataLogDir=/var/log/zookeeper/version-2
tickTime=2000
maxClientCnxns=50
minSessionTimeout=4000
maxSessionTimeout=40000
serverId=0
相关推荐
Zookeeper支持多种命令行工具,如`zkCli.sh`,用于交互式操作Zookeeper。通过这个客户端,你可以创建、删除、更新节点数据,以及查看Zookeeper的数据树。 总的来说,Zookeeper的安装和启动过程相对简单,但理解其...
3. 命令行操作:掌握基本的 zkCli.sh 命令,如创建节点、读取数据、设置权限等。 4. 监控与调试:了解如何查看 Zookeeper 的运行状态,如使用 jmx 监控、日志分析等。 5. 客户端使用:学习如何编写 Java 或其他语言...
客户端可以通过`zkCli.sh`命令行工具与Zookeeper交互,或者使用提供的API在应用程序中直接调用。 总的来说,Zookeeper-3.3.6是分布式系统中不可或缺的组件,它的强大功能和稳定性使其在大数据、云计算等领域广泛...
1. **bin** 目录:这个目录包含了Zookeeper的可执行文件和服务脚本,如 `zkServer.sh` 用于启动和停止Zookeeper服务器,`zkCli.sh` 是客户端命令行工具,允许用户与Zookeeper服务器进行交互。 2. **conf** 目录:这...
3. **docs** 目录:包含 ZooKeeper 的文档,包括用户手册、API 文档和开发者指南,对于理解 ZooKeeper 的工作原理和使用方法非常有用。 4. **src** 目录:包含了源代码,如果你需要深入了解 ZooKeeper 的内部实现...
`zkServer.sh` 用于启动和管理Zookeeper服务器,而 `zkCli.sh` 是一个命令行客户端,用于与Zookeeper服务器进行交互。 2. **conf** 目录:包含默认配置文件 `zoo.cfg`,这是Zookeeper的主要配置文件。在这里,你...
- **Zookeeper命令行工具**(`zkCli.sh`):用于交互式操作ZooKeeper,进行数据查看、创建和修改。 5. **分布式应用中的应用**: - **配置管理**:集中存储和分发分布式系统的配置信息。 - **命名服务**:提供...
1. **bin**:包含启动和管理 ZooKeeper 服务的脚本,如 `zkServer.sh` 和 `zkCli.sh`,分别用于启动服务器和客户端命令行界面。 2. **conf**:默认配置文件,如 `zoo.cfg`,这是 ZooKeeper 的主要配置文件,可以在...
1. `bin`:包含用于启动和管理Zookeeper服务的脚本,如`zkServer.sh`(启动Zookeeper服务器)和`zkCli.sh`(客户端命令行工具)。 2. `conf`:存放配置文件,如`zoo.cfg`,这是Zookeeper的主要配置文件,可以在此...
启动 ZooKeeper 服务后,可以通过 `bin/zkCli.sh` 命令行工具与服务进行交互。 `java中间件.txt` 文件可能包含了关于如何在 Java 应用中集成和使用 ZooKeeper 的指南或者示例代码。Java 中间件是指在 Java 应用中...
为了充分利用Zookeeper的功能,管理员需要了解其配置参数,如`dataDir`(存储快照和事务日志的目录)、`clientPort`(客户端连接的端口)等,以及如何通过`zkCli.sh`命令行工具进行操作。 总之,Zookeeper 3.4.5在...
使用ZooKeeper的命令行工具`zkCli.sh`,测试与服务器的连接: ```bash $ZOOKEEPER_HOME/bin/zkCli.sh ``` 在命令行中,尝试创建一个节点: ```bash create /test "Hello, ZooKeeper!" ``` 然后读取这个节点: `...
此外,了解ZooKeeper的命令行工具(如`zkCli.sh`)和ZooKeeper的数据模型(如ZNode、ACL、Watch机制)也是十分重要的。 总之,ZooKeeper作为一个关键的分布式协调服务,它的正确安装和配置对于分布式系统的稳定运行...
还有客户端工具,如`zkCli.sh`(命令行接口)和`zkEnv.sh`,用于配置环境变量。 2. **conf目录**:默认配置文件`zoo.cfg`位于此处,这是ZooKeeper服务器的核心配置,包括数据存储路径、端口号、集群配置等。 3. **...
对于Zookeeper,可以使用`zkCli.sh`命令行客户端进行连接和操作。而Kafka,可以创建主题,启动生产者和消费者来测试消息传递。 在深入学习Kafka时,理解其核心概念如分区、副本、生产者、消费者和offset非常重要。...
1. **bin** 目录:包含各种可执行文件,如 `zkServer.sh`(启动 ZooKeeper 服务器)和 `zkCli.sh`(ZooKeeper 客户端命令行工具)。这些脚本帮助用户轻松地管理和操作 ZooKeeper 集群。 2. **conf** 目录:这里存放...
使用`zkCli.sh`命令行工具连接到ZooKeeper服务,执行一些基本的操作来验证服务是否正常运行。 #### 十、安全与维护 1. **配置ACLs:**增强安全性,可以配置ZooKeeper的访问控制列表(ACLs),限制特定用户的访问...
文章可能详细介绍了如何配置Zookeeper的配置文件(如`zoo.cfg`),如何启动和停止Zookeeper服务,以及如何通过命令行工具`zkCli.sh`与Zookeeper交互。 此外,"帮助文档.txt"提供了Zookeeper的相关使用和操作指南,...
这些API可能会封装ZooKeeper的命令行工具,如`zkCli.sh`,或者直接使用Java客户端库(zkclient或curator)与ZooKeeper服务器交互。 3. **数据可视化**:UI界面需要展示ZooKeeper集群的状态,如节点结构、节点数据、...
6. **监控状态**:使用zkCli.sh(Windows系统使用zkCli.cmd)工具连接到ZooKeeper服务,检查其运行状态。 标签"zookeeper zk"表明这是关于ZooKeeper的讨论,"zk"是ZooKeeper的常见缩写。 在实际应用中,ZooKeeper...