`
chenchao051
  • 浏览: 137561 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

zookeeper超时--minSessionTimeout与maxSessionTimeout

阅读更多

    很多同学可能有这样的疑问,我明明把连接zk客户端的超时时间sessionTimeout设置为180秒了,可是为什么仅仅过了40几秒就超时了?

    其实只这么设置,根本没有任何作用,因为客户端将sessionTimeout的值传给zk时,zk还会根据minSessionTimeout与maxSessionTimeout两个参数重新调整最后的超时值

    public int getMinSessionTimeout() {
        return minSessionTimeout == -1 ? tickTime * 2 : minSessionTimeout;
    }


    public int getMaxSessionTimeout() {
        return maxSessionTimeout == -1 ? tickTime * 20 : maxSessionTimeout;
    }

 

就是说这两个值,默认分别为tickTime 的2倍和20倍,而tickTime的默认值是3秒,即最后生效的超时时间,一定是6s<timeout<60s,原因如下:

 int minSessionTimeout = zk.getMinSessionTimeout();
 if (sessionTimeout < minSessionTimeout) {
     sessionTimeout = minSessionTimeout;
 }
 int maxSessionTimeout = zk.getMaxSessionTimeout();
 if (sessionTimeout > maxSessionTimeout) {
     sessionTimeout = maxSessionTimeout;
 }

 

 就是这么简单,至于之前说40s超时,那肯定是把tickTime设置成2s了,很多人都这么干。

 

分享到:
评论
2 楼 chenchao051 2013-10-16  
usezhou 写道
你这个说法好像不对,return maxSessionTimeout == -1 ? tickTime * 20 : maxSessionTimeout 取到的就是 180s 后边再怎么折腾 也是 180s


我现在手边倒没有代码,但是maxSession没设置的话,取得就是tickTime * 20的值,您的问题在哪里呢?
1 楼 usezhou 2013-10-08  
你这个说法好像不对,return maxSessionTimeout == -1 ? tickTime * 20 : maxSessionTimeout 取到的就是 180s 后边再怎么折腾 也是 180s

相关推荐

    最新版linux apache-zookeeper-3.7.0-bin.tar.gz

    - 调整`zoo.cfg`中的配置参数,如`tickTime`、`minSessionTimeout`、`maxSessionTimeout`等,以适应不同场景。 9. **Zookeeper与其他组件的集成**: - Hadoop、HBase、Kafka等大数据框架都依赖Zookeeper来实现...

    zookeeper-3.5.3-beta集群配置

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终将简单易用的接口和性能高效、功能稳定的系统提供给用户。...

    ZooKeeper会话超时以及重连机制.pdf

    ### ZooKeeper会话超时及重连机制详解 #### 一、ZooKeeper会话超时机制 在分布式系统中,ZooKeeper作为一款流行的协调服务框架,为开发者提供了高效且可靠的协调服务。其中,会话管理是ZooKeeper的重要组成部分之...

    包含zookeeper-3.4.6.tar.gz和配置文档

    3. **会话超时**:`tickTime`定义了一个时间单位,`minSessionTimeout`和`maxSessionTimeout`分别设置了客户端会话的最小和最大超时时间。 4. **安全性设置**:可以通过配置SSL来增强Zookeeper的安全性,如启用`...

    zookeeper配置文件.zip

    4. **安全性与认证**:包括是否启用SSL(tickTime, minSessionTimeout, maxSessionTimeout)、认证方式(authProvider)等。例如: ```properties secureClientPort=2191 authProvider.x509=org.apache.zookeeper...

    zookeeper调优

    - **`maxSessionTimeout`**:最大会话超时时间,默认为20倍的心跳时间。同样地,根据实际应用的需求,可能需要调整此值。 #### 七、Zookeeper在Dubbo中的角色 在本案例中,Zookeeper作为Dubbo的服务注册中心,负责...

    第二课:zookeeper客户端使用与集群特性.docx

    * sessionTimeout:会话超时时间,该值不能超过服务端所设置的 minSessionTimeout 和 maxSessionTimeout * watcher:会话监听器,服务端事件将会触发该监听 * sessionId:自定义会话 ID * sessionPasswd:会话密码 *...

    zookeeper windowms

    此外,`tickTime`定义了心跳间隔,`minSessionTimeout`和`maxSessionTimeout`分别设置了客户端最小和最大会话超时时间。 总之,通过nssm在Windows上注册Zookeeper服务,使得在非Linux环境中也可以便捷地管理和使用...

    zookeeper配置文件

    5. **同步限制**:`minSessionTimeout`和`maxSessionTimeout`分别设置了最小和最大会话超时时间,它们通常以tickTime的倍数表示。 6. **日志配置**:`log4j.rootLogger`定义了日志级别和输出目的地,例如: ``` ...

    zookeeper管理机制

    - **minSessionTimeout**与**maxSessionTimeout**:定义了客户端与服务器间会话的最短和最长超时时间。 - **initLimit**与**syncLimit**:分别用于限定Follower与Leader初始同步的时间以及二者间通信的最大延迟时间...

    zookeeper.rar

    - `minSessionTimeout` 和 `maxSessionTimeout`:设置客户端session的最小和最大超时时间。 总结,Zookeeper是分布式系统中不可或缺的工具,它以简单、高效的方式解决了许多分布式环境下的难题。无论是作为配置中心...

    ZooKeeper 运维

    2. 增加`minSessionTimeout`和`maxSessionTimeout`以减少客户端重连的等待时间。 3. 根据服务器硬件配置调整`maxClientCnxns`,避免过多的并发连接导致压力过大。 4. 使用SSD硬盘存储ZooKeeper数据,提高I/O性能。 5...

Global site tag (gtag.js) - Google Analytics