ZooKeeper基本配置
ZooKeeper服务器在启动时从一个名为zoo.cfg的配置文件读取所有选项,多个服务器如果角色相似,同时基本配置信息一样,就可以共享一个文件。data目录下的myid文件用于区分各个服务器,对每个服务器来说,data目录必须时唯一的,因此这个目录可以更加方便地保存一些差异化文件。服务器ID将myid文件作为一个索引引入到配置文件中,一个特定的ZooKeeper服务器可以知道如何配置自己参数。
一 基本配置
clientPort:
客户端所连接的服务器所监听的TCP端口,默认情况下,服务端会监听在所有的网络连接接口的这个端口上,除非设置了clientPortAddress参数。客户端口可以设置为任何值。不同的服务器也可以监听在不同的端口上。默认端口2181
dataDir和dataLogDir:
dataDir用于配置内存数据库保存的模糊快照的目录,如果某个服务器为集群中的一台,id文件也保存在该目录下。dataDir并不需要配置到一个专用存储设备上,快照将会以后台线程的方式写入。且并不会锁定数据库,而且快照的写入方式并不是同步方式,直到写完整快照为止。
事务日志对该目录所处的存储设备上的其他活动更加敏感,服务端会尝试进行顺序写入事务日志,以为服务端在确认一个事务前必须将数据同步到存储中,该设备的其他活动(尤其时快照的写入)可能导致同步时磁盘过于忙碌,从而影响写入的吞吐能力。因此,最佳实践时使用专用的日志存储设备,将dataLogDir的目录配置指向该设备。
tickTime:
tick的时长单位为毫秒,tick为ZooKeeper使用的基本的时间度量单位。ZooKeeper集群中使用的超时时间单位通过tickTime指定ÿ