Zookeeper
安装配置启动流程。
1. 获取zookeeper安装包
解压原始安装包apache-zookeeper-3.5.5-bin.tar.gz
2. 配置文件zoo.cfg
- 将conf目录中zoo_sample.cfg 文件复制一份zoo.cfg。
修改必要的配置,一般修改dataDir数据存放路径。如需要集群则配置集群信息。
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/apache-zookeeper-3.5.5-bin/zkData
# the port at which the clients will connect
clientPort=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
#集群配置 server.2 服务id,ip服务的ip地址,2888通讯端口号,3888选举端口号。
server.2=ip:2888:3888
server.3=ip:2888:3888
server.5=ip:2888:3888
3. 创建集群中的myid
- 在dataDir目录中,创建myid文件,文件内容即为server.n的n值,表示zookeeper的唯一id属性。
4. 修改日志记录位置
修改bin目录中zkEnv.sh内容,如下所示修改ZOO_LOG_DIR路径即可。
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="$ZOOKEEPER_PREFIX/logs"
fi
5. 启动zookeeper,并查看状态。
- 启动命令bin/zkServer.sh start
- bin/zkServer.sh status 查看启动状态。
命令 —— zkServer.sh 下的命令
start
启动命令bin/zkServer.sh start
status
查看zookeeper状态 bin/zkServer.sh status
stop
查看zookeeper状态 bin/zkServer.sh stop
命令 —— zkCli.sh 下的命令
- bin/zkCli.sh 可进入本机zookeeper的客户端。
ls path [watch] 查看节点信息
ls类似Linux的ls功能可以查看zookeeper path路径下的目录。
watch表示在当前目录下添加监听的功能。
例如: 当监听了zookeeper根目录之后,再在根目录下执行 create /test 123 命令时,会收到以下事件信息:
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/Created /test
ls2 path [watch]
create [-s] [-e] path value 创建节点
默认不适用这两个参数的情况下,则是永久的无序节点。
-s是指创建全局有序的目录。
-e创建临时的目录,当关闭当前会话时(或超时)消失。
get [-s] [-w] path 获取节点信息
get默认获得节点的值。
-s获取节点的值和状态信息。
-w参数表示监听一次path路径上值的变化。
例如:WatchedEvent state:SyncConnected type:NodeDataChanged path:/test
set path value 设置节点值
设置节点的具体值
stat path 查看节点状态
查看节点状态,与get -s path中的状态信息一样。
cZxid = 0x200000004
ctime = Sat Jan 09 13:21:22 CST 2021
mZxid = 0x20000000a
mtime = Sat Jan 09 14:09:07 CST 2021
pZxid = 0x200000004
cversion = 0
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
delete 删除节点
rmr 递归删除节点
错误锦集
- Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
大概率情况下是,解压包用错了。apache-zookeeper-3.5.5.tar.gz缺少必要的lib包,apache-zookeeper-3.5.5-bin.tar.gz这个是全带。