zookeeper的单机使用例子

安装

下载文件: zookeeper-3.4.9.tar.gz
1. 解压
2. 修改/home/zookeeper/zookeeper-3.4.9/conf/zoo.cfg:

```
[root@zk conf]# cat zoo.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/zookeeper/zk_data
clientPort=2181
```
  1. 启动

    [root@zk bin]# ./zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /home/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED

    通过下面查看,可以看到已经启动了:

    [root@zk bin]# ps -ef | grep zookeeper
    root     25085     1  1 23:02 pts/1    00:00:00 java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /home/zookeeper/zookeeper-3.4.9/bin/../build/classes:/home/zookeeper/zookeeper-3.4.9/bin/../build/lib/*.jar:/home/zookeeper/zookeeper-3.4.9/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/zookeeper/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/home/zookeeper/zookeeper-3.4.9/bin/../lib/netty-3.10.5.Final.jar:/home/zookeeper/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/home/zookeeper/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/home/zookeeper/zookeeper-3.4.9/bin/../zookeeper-3.4.9.jar:/home/zookeeper/zookeeper-3.4.9/bin/../src/java/lib/*.jar:/home/zookeepe/zookeeper-3.4.9/bin/../conf: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /home/zookeeper/zookeeper-3.4.9/bin/../conf/zoo.cfg
    root     25122 24336  0 23:02 pts/1    00:00:00 grep --color=auto zookeeper
    [root@zk bin]# 
    [root@zk bin]# netstat -antp | grep 2181
    tcp6       0      0 :::2181                 :::*                    LISTEN      25085/java 
  2. 连接

    [root@server128_98 bin]# ./zkCli.sh -server 192.168.128.97
    Connecting to 192.168.128.97
    2016-12-28 23:22:28,310 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT
    2016-12-28 23:22:28,314 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=<NA>
    2016-12-28 23:22:28,314 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_65
    2016-12-28 23:22:28,316 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
    2016-12-28 23:22:28,317 [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/jre
    2016-12-28 23:22:28,317 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/home/zk/zookeeper-3.4.9/bin/../build/classes:/home/zk/zookeeper-3.4.9/bin/../build/lib/*.jar:/home/zk/zookeeper-3.4.9/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/zk/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/home/zk/zookeeper-3.4.9/bin/../lib/netty-3.10.5.Final.jar:/home/zk/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/home/zk/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/home/zk/zookeeper-3.4.9/bin/../zookeeper-3.4.9.jar:/home/zk/zookeeper-3.4.9/bin/../src/java/lib/*.jar:/home/zk/zookeeper-3.4.9/bin/../conf:
    2016-12-28 23:22:28,317 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
    2016-12-28 23:22:28,317 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
    2016-12-28 23:22:28,317 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
    2016-12-28 23:22:28,317 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
    2016-12-28 23:22:28,317 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
    2016-12-28 23:22:28,317 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=3.10.0-327.el7.x86_64
    2016-12-28 23:22:28,317 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
    2016-12-28 23:22:28,318 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
    2016-12-28 23:22:28,318 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/home/zk/zookeeper-3.4.9/bin
    2016-12-28 23:22:28,319 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=192.168.128.97 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@3eb07fd3
    Welcome to ZooKeeper!
    2016-12-28 23:22:28,345 [myid:] - INFO  [main-SendThread(192.168.128.97:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 192.168.128.97/192.168.128.97:2181. Will not attempt to authenticate using SASL (unknown error)
    JLine support is enabled
    2016-12-28 23:22:28,409 [myid:] - INFO  [main-SendThread(192.168.128.97:2181):ClientCnxn$SendThread@876] - Socket connection established to 192.168.128.97/192.168.128.97:2181, initiating session
    2016-12-28 23:22:28,415 [myid:] - INFO  [main-SendThread(192.168.128.97:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 192.168.128.97/192.168.128.97:2181, sessionid = 0x15945f3f0af0002, negotiated timeout = 30000
    
    WATCHER::
    
    WatchedEvent state:SyncConnected type:None path:null
    [zk: 192.168.128.97(CONNECTED) 0] 

基础使用

创建节点

[zk: 192.168.128.97(CONNECTED) 0] ls /    
[zookeeper]
[zk: 192.168.128.97(CONNECTED) 1] create /node1 my
Created /node1
[zk: 192.168.128.97(CONNECTED) 2] ls /
[zookeeper, node1]

查看节点信息

[zk: 192.168.128.97(CONNECTED) 6] get /node1
my
cZxid = 0x6
ctime = Thu Dec 29 00:22:35 CST 2016
mZxid = 0x6
mtime = Thu Dec 29 00:22:35 CST 2016
pZxid = 0x6
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 0

修改节点关联的字符串

[zk: 192.168.128.97(CONNECTED) 8] get /node1    
my
[zk: 192.168.128.97(CONNECTED) 7] set /node1 abc
[zk: 192.168.128.97(CONNECTED) 8] get /node1    
abc

删除节点

[zk: 192.168.128.97(CONNECTED) 9] delete /node1
[zk: 192.168.128.97(CONNECTED) 10] ls /
[zookeeper]

FAQ

连接异常

远程连接./zkCli.sh -server 192.168.128.97发现如下异常:

2016-12-28 23:17:48,125 [myid:] - INFO  [main-SendThread(192.168.128.97:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 192.168.128.97/192.168.128.97:2181. Will not attempt to authenticate using SASL (unknown error)
2016-12-28 23:17:48,126 [myid:] - WARN  [main-SendThread(192.168.128.97:2181):ClientCnxn$SendThread@1162] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.NoRouteToHostException: No route to host
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)

一般都是由于网络导致的,请确认防火墙是否关闭:

systemctl status firewalld
systemctl status iptables

如果还不行,就看看selinux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值