zookeeper的运行,需要在conf目录配置zoo.cfg文件。我们可以参考zoo_sample.cfg进行配置。 节点1配置如下:
#zookeeper时间单元,单位为毫秒 tickTime=2000 #集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。 initLimit=10 # 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。 syncLimit=5 # data数据目录 dataDir=/opt/zookeeper/zoo-node1/data # 客户端连接端口 clientPort=2181 # 客户端最大连接数 #maxClientCnxns=60 # 需要保留的快照数目 #autopurge.snapRetainCount=3 # 是否开启自动清理事务日志和快照功能 0 不开启,1表示开启 #autopurge.purgeInterval=1 #集群配置 server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2889:3889 server.3=127.0.0.1:2890:3890节点2配置
#zookeeper时间单元,单位为毫秒 tickTime=2000 #集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。 initLimit=10 # 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。 syncLimit=5 # data数据目录 dataDir=/opt/zookeeper/zoo-node2/data # 客户端连接端口 clientPort=2182 # 客户端最大连接数 #maxClientCnxns=60 # 需要保留的快照数目 #autopurge.snapRetainCount=3 # 是否开启自动清理事务日志和快照功能 0 不开启,1表示开启 #autopurge.purgeInterval=1 #集群配置 server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2889:3889 server.3=127.0.0.1:2890:3890节点3配置
#zookeeper时间单元,单位为毫秒 tickTime=2000 #集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。 initLimit=10 # 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)。 syncLimit=5 # data数据目录 dataDir=/opt/zookeeper/zoo-node3/data # 客户端连接端口 clientPort=2183 # 客户端最大连接数 #maxClientCnxns=60 # 需要保留的快照数目 #autopurge.snapRetainCount=3 # 是否开启自动清理事务日志和快照功能 0 不开启,1表示开启 #autopurge.purgeInterval=1 #集群配置 server.1=127.0.0.1:2888:3888 server.2=127.0.0.1:2889:3889 server.3=127.0.0.1:2890:3890分别将上述配置文件放置在三个节点对应的conf目录下。 另外,需要新建data目录
mkdir /opt/zookeeper/zoo-node1/data mkdir /opt/zookeeper/zoo-node2/data mkdir /opt/zookeeper/zoo-node3/datazookeeper还需要在data目录中配置myid文件。myid文件中存放对应节点的序号。
echo '1' > /opt/zookeeper/zoo-node1/data/myid echo '2' > /opt/zookeeper/zoo-node2/data/myid echo '3' > /opt/zookeeper/zoo-node3/data/myid修改 bin 目录下的zkEnv.sh 将ZOO_LOG_DIR 修改为:
ZOO_LOG_DIR="../logs/"按上述方法分别修改三个节点中的zkEnv.sh文件
如此分别启动三个节点即可。 启动效果如下:
[root@localhost bin]# /opt/zookeeper/zoo-node1/bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /opt/zookeeper/zoo-node1/bin/../conf/zoo.cfg Starting zookeeper ... STARTED查看日志:
运行 zkCli.sh 连接到默认的端口
使用create 可以创建一个zookeeper节点。
命令格式 create [-s] [-e] path data acl create /zk-book 123列出zookeeper指定节点下的所有子节点。
命令格式 ls path [watch] ls /get 可以获取zookeeper指定节点的数据内容和属性信息。
get path [watch] get /zk-book更新指定节点的数据内容
set path data [vresion] set /zk-book 456delete 删除zookeeper上指定节点内容
delete path [version] delete /zk-book不过需要注意的是,删除的节点必须为空,否则无法删除。
create /zk-book 123 create /zk-book/child 12345 delete /zk-book