zookeeper一些配置随笔杂记

# ZooKeeper

      是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。

在实际开发中分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协 调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列 等功能。本人接触zookeeper时间不久,而由于项目技术栈限制目前只在项目中用它作过配置中心,其余的只在demo中做过测试。个人推荐zkui这款可视化源码工具,很不错对于新手来说。

今天只记录一下一些基本配置:

 1:clientPort=2181 (client port,顾名思义,就是客户端连接zookeeper服务的端口。这是一个TCP port。client port,顾名思义,就是客户端连接zookeeper服务的端口。这是一个TCP port。)

2:dataDir=/data

3:dataLogDir=/datalog (dataLogDir如果没提供的话使用的则是dataDir。zookeeper的持久化都存储在这两个目录里。dataLogDir里是放到的顺序日志(WAL)。而dataDir里放的是内存数据结构的snapshot,便于快速恢复。为了达到性能最大化,一般建议把dataDir和dataLogDir分到不同的磁盘上,这样就可以充分利用磁盘顺序写的特性。)

4: tickTime,这是个时间单位定量。比如tickTime=1000,这就表示在zookeeper里1 tick表示1000 ms,所有其他用到时间的地方都会用多少tick来表示。

5:syncLimit = 2 就表示fowller与leader的心跳时间是2 tick。

6:maxClientCnxns -- 对于一个客户端的连接数限制,默认是60,这在大部分时候是足够了。但是在我们实际使用中发现,在测试环境经常超过这个数,经过调查发现有的团队将几十个应用全部部署到一台机器上,以方便测试,于是这个数字就超过了。 7:minSessionTimeout, maxSessionTimeout -- 一般,客户端连接zookeeper的时候,都会设置一个session timeout,如果超过这个时间client没有与zookeeper server有联系,则这个session会被设置为过期(如果这个session上有临时节点,则会被全部删除,这就是实现集群感知的基础,后面的文章会介绍这一点)。但是这个时间不是客户端可以无限制设置的,服务器可以设置这两个参数来限制客户端设置的范围。

猜你喜欢

转载自blog.csdn.net/weixin_40151613/article/details/81878004