ZooKeeper状态以及状态的转换
-
一个会话从
NOT_CONNECTED状态开始,当客户端初始化后转换成CONNECTTING状态(箭头1)。 -
当客服端与服务器断开连接,状态转换成
CONNECTED状态(箭头2)。 -
当客服端与服务器断开连接或者无法接收到服务器的响应时,就会转换回
CONNECTING状态(箭头3)并尝试发现其他服务器。 -
如果发现了另外一个服务器或者重连到原来的服务器,当服务器确认会话有效之后,状态回转换回
CONNECTED状态。否则,转换成CLOSED状态。应用也可以显示地关闭会话(箭头4和5)。

Clinet连接、断开Server
可以通过zkCli简单的对ZooKeeper进行访问,数据创建,数据修改等操作。连接服务器命令行如下:
zkCli.sh -server 127.0.0.1:2181

说明:127.0.0.1是本地的IP,2181是访问端口,可以在配置文件中修改端口号。连接后会显示连接的详细信息,并进入可以操作的ZooKeeper命令终端(如下图所示)。

如果在ZooKeeper服务器运行在standalone模式下,可以直接使用以下命令连接Server(不建议使用):
zkCli.sh

上述命令使用的端口号为2181,如果ZooKeeper端口号配置不是2181(此时clientPort=2182),将会拒绝连接,如下图所示:

断开Client与Server连接,直接使用quit退出ZooKeeper命令行界面即可。

编程要求
本关任务是使用命令行,进行以下操作:
-
修改ZooKeeper配置(安装目录为
/opt/zookeeper-3.4.12),将端口改为2182。 -
添加
preAllocSize配置项,值为300。
vi /opt/zookeeper-3.4.12/conf/zoo.cfg
clientPort=2182
preAllocSize=300
-
日志输出路径修改为
/opt/zookeeper-3.4.12(修改zkEnv.sh)。
vi /opt/zookeeper-3.4.12/bin/zkEnv.sh
<!--修改ZOO_LOG_DIR-->
ZOO_LOG_DIR="/opt/zookeeper-3.4.12"
-
启动服务器,并通过
zkCli.sh建立与Server的连接(启动服务器之前确保服务器处于关闭状态,可通过status查看服务器状态)。
zkServer.sh start
zkCli.sh -server 127.0.0.1:2182











![[附源码]java毕业设计科院垃圾分类系统](https://img-blog.csdnimg.cn/79be43367810495daa565a357a10ad83.png)


![[附源码]Python计算机毕业设计 家乡旅游文化推广网站](https://img-blog.csdnimg.cn/5ff7bc31ff694d8ca2d44f4aa9ae92d4.png)



![[力扣] 剑指 Offer 第二天 - 复杂链表的复制](https://img-blog.csdnimg.cn/5dedb2575c7c4a74a5de4d13c3525474.png)
