一、官网下载Zookeeper
二、Linux环境搭建
2.1、下载后上传到Linux服务器
2.2、解压安装到/usr/local/
目录下
[root@Main ~]# cd /home/application
[root@Main application]# ls
apache-zookeeper-3.7.0-bin.tar.gz
[root@Main application]# tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz -C /usr/local/
[root@Main application]# cd /usr/local/
[root@Main local]# ls
aegis curl include libexec nghttp2 sbin
apache-zookeeper-3.7.0-bin etc lib libiconv openssl share
bin games lib64 man openssl111 src
# 重命名:apache-zookeeper-3.7.0-bin --> zookeeper3.7.0
[root@Main local]# mv apache-zookeeper-3.7.0-bin zookeeper3.7.0
[root@Main local]# ls
aegis etc lib libiconv openssl share
bin games lib64 man openssl111 src
curl include libexec nghttp2 sbin zookeeper3.7.0
2.3、Zookeeper 配置文件
官网入门指南:https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_InstallingSingleMode
在
"conf"
目录下,拷贝文件"zoo_sample.cfg"
生成"zoo.cfg"
[root@Main zookeeper3.7.0]# cd conf/
[root@Main conf]# ls
configuration.xsl log4j.properties zoo_sample.cfg
[root@Main conf]# cp zoo_sample.cfg zoo.cfg
[root@Main conf]# ls
configuration.xsl log4j.properties zoo.cfg zoo_sample.cfg
[root@Main conf]# vim zoo.cfg
编辑
"zoo.cfg"
其中内容如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181
- tickTime:ZooKeeper使用的基本时间单位(毫秒)。它用于做心跳,并且最小会话超时将是tickTime的两倍。
- dataDir:存储内存数据库快照的位置,除非另有说明,否则存储数据库更新的事务日志。
- clientPort:用于侦听客户端连接的端口
2.4、ZooKeeper Server 服务命令
运行 ZooKeeper Server(后台运行)
[root@Main zookeeper3.7.0]# bin/zkServer.sh start
非后台运行ZooKeeper Server进程
[root@Main zookeeper3.7.0]# bin/zkServer.sh start-foreground
停止 ZooKeeper Server
[root@Main zookeeper3.7.0]# bin/zkServer.sh stop
重启ZooKeeper Server
[root@Main zookeeper3.7.0]# bin/zkServer.sh restart
查看 ZooKeeper Server 状态
[root@Main zookeeper3.7.0]# bin/zkServer.sh status
2.5、ZooKeeper 命令行客户端命令
运行 ZooKeeper 命令行客户端:
bin/zkServer.sh start
,连接到 ZooKeeper
[root@Main zookeeper3.7.0]# bin/zkServer.sh start
[root@Main zookeeper3.7.0]# bin/zkCli.sh -server 127.0.0.1:2181
显示根目录下、文件:
ls /
使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
创建节点,并设置初始内容:
create [-s] [-e] path data acl
# 创建一个新的节点 “zk” 以及与它关联的字符串
[zk: localhost:2181(CONNECTED) 13] create /zk "test"
Created /zk
[zk: localhost:2181(CONNECTED) 15] ls /
[zk, zookeeper]
获取节点数据:
get path
[zk: localhost:2181(CONNECTED) 16] get /zk
test
修改或设置节点值:
set path data [version]"
[zk: localhost:2181(CONNECTED) 19] set /zk "zkbak"
[zk: localhost:2181(CONNECTED) 22] get /zk
zkbak
设置ACL(访问控制列表) :
setAcl path acl
[zk: localhost:2181(CONNECTED) 3] setAcl /zk digest:test:Kk3Nr5X06NH+XdlGMyOrULgK/mo=:rwcda
[zk: localhost:2181(CONNECTED) 4] get /zk
org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /zk
删除节点:
delete path [version]
注意:如果此path下还有子节点,将导致删除失败.
[zk: localhost:2181(CONNECTED) 23] delete /zk
[zk: localhost:2181(CONNECTED) 24] ls /
[zookeeper]
退出客户端:
quit
或 (Ctrl + C)
[zk: localhost:2181(CONNECTED) 25] quit
[root@Main zookeeper3.7.0]#