• 第3关:Client连接及状态


    ZooKeeper状态以及状态的转换

    • 一个会话从NOT_CONNECTED状态开始,当客户端初始化后转换成CONNECTTING状态(箭头1)。

    • 当客服端与服务器断开连接,状态转换成CONNECTED状态(箭头2)。

    • 当客服端与服务器断开连接或者无法接收到服务器的响应时,就会转换回CONNECTING状态(箭头3)并尝试发现其他服务器。

    • 如果发现了另外一个服务器或者重连到原来的服务器,当服务器确认会话有效之后,状态回转换回CONNECTED状态。否则,转换成CLOSED状态。应用也可以显示地关闭会话(箭头45)。

     

    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),将会拒绝连接,如下图所示:

     

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

     

    编程要求

    本关任务是使用命令行,进行以下操作:

    • 修改ZooKeeper配置(安装目录为/opt/zookeeper-3.4.12),将端口改为2182

    • 添加preAllocSize配置项,值为300

    1. vi /opt/zookeeper-3.4.12/conf/zoo.cfg
    2. clientPort=2182
    3. preAllocSize=300

    • 日志输出路径修改为/opt/zookeeper-3.4.12(修改zkEnv.sh)。

    1. vi /opt/zookeeper-3.4.12/bin/zkEnv.sh
    2. ZOO_LOG_DIR="/opt/zookeeper-3.4.12"
    • 启动服务器,并通过zkCli.sh建立与Server的连接(启动服务器之前确保服务器处于关闭状态,可通过status查看服务器状态)。

    1. zkServer.sh start
    2. zkCli.sh -server 127.0.0.1:2182

  • 相关阅读:
    我的周刊(第052期)
    SPPNet
    国风数字人:数字时代的传统戏剧文化代言人
    JS鼠标、键盘、window、表单的事件类型
    【git】gitee的上传文件与报错
    jquery || js 实现阴影背景弹窗
    flutter系列之:在flutter中使用流式布局
    前端HTML点击图片放大效果展示
    城市内涝解决方案:实时监测,提前预警,让城市更安全
    【Java SE】面向对象三大特性之继承
  • 原文地址:https://blog.csdn.net/qq_61604164/article/details/127904083