Zookeeper学习笔记十二之 网络配置与集群配置

网络配置

这些配置参数可以限制服务器和客户端之间的通信

zookeeper.globalOutstandingLimit:

ZooKeeper中待处理请求的最大值,ZooKeeper客户端提交请求比ZooKeeper服务器处理请求要快很多,服务端将会对接收到的请求队列化,最终可能导致服务端的内存溢出。为了防止发生这个问题,ZooKeeper服务端中如果待处理请求达到globalOutstandingLimit值就会限制客户端的请求。但是并不是硬限制,因为每个客户端至少有一个待处理请求,否则会导致客户端超时,因此,当达到限制值后,服务端还是会继续接收客户端连接中的请求,条件时这个客户端在服务器中没有任何待处理的请求。默认值为1000。

maxClientCnxns:

允许每个IP地址的并发socket连接的最大数量,默认值为60个并发连接

clientPortAddress:

限制客户端连接到指定的接收信息的地址上。默认情况下,一个zookeeper服务器会监听在所有的网络接口地址上等待客户端的连接。有些服务器配置了多个网络接口,其中一个网络接口用于内网通信,另一个网络接口用于公网通信,如果你并不希望服务器在公网接口接受客户端的连接,只需要设置clientPortAddress选项为内网接口的地址。

minSessionTimeout:

最小会话超时时间,单位为毫秒。当客户端建立一个连接后就会请求一个明确的超时值,而客户端实际获得的超时值不会低于minSessionTimeout值。minSessionTimeout的默认值为tickTime(基本配置有tickTime说明)值的两倍。

maxSessionTimeout:

会话的最大超时时间值,单位为毫秒。当客户端建立一个连接后就会请求一个明确的超时值。而客户端实际获得的超时值不会高于maxSessionTimeout的值。默认情况下maxSessionTimeout的时间为tickTime的20倍。

集群配置

当以一个集群来构建ZooKeeper服务时,我们需要为每台服务器配置正确的时间和服务器列表信息,以便服务器之间可以互相建立连接并进行故障监测,在ZooKeeper的集群中,这些参数必须配置一致

initLimit:

对于追随者最初连接到群首时的超时值,单位为tick值的倍数

当某个追随者最初与群首建立时它们之间连接会传输相当多的数据,尤其时追随者落后整体很多时。配置initLimit参数值取决于群首与追随者之间的网络传输速度情况,以及传输的数据量大小,如果zookeeper中保存的数据量特别大或者网络非常缓慢,就需要增大initLimit值,因为该值取决于环境问题,所以没有默认值

syncLimit:

对于追随者与群首进行sync操作时的超时值,单位为tick值的倍数。追随者总是会稍稍落后于群首,但是如果因为服务器负载或网络问题,就会导致追随者落后群首太多,甚至需要放弃该追随者,如果群首与追随者无法进行sync操作,而且超过了syncLimit的tick时间,就会放弃该追随者。syncLimit也没有默认值,依赖于网络的延迟和吞吐量。在高延迟的网络中,数据发送和接收响应会耗费更多时间,此时需要提高syncLimit值。如果某些相对较大的事务传输给追随者需要一定的时间,也需要提高syncLimit值

zookeeper.leaderServes:

配置值为"yes"或"no"标志,指示群首服务器是否为客户端提供服务。担任群首的ZooKeeper服务器需要做很多工作,它需要与所有追随者进行通信并会执行所有的变更操作,也就意味着群首的负载会比追随者的负载高,如果群首过载,整个系统可能都会受到影响。

该标识位如果设置为"no",就可以使群首除去服务端连接的负担,提高系统状态变更操作的吞吐能力。默认情况下配置值为"yes"。

server.x=[hostname]:n:n[:observer]

服务器x的配置参数。ZooKeeper服务器需要知道它们如何通信,配置文件中该形式的配置项就指定了服务器x的配置信息,其中x为服务器的ID值(整数)。当一个服务器启动后,就会读取data目录下myid文件中的值,之后服务器就会使用这个值作为查找server.x项,通过该项中的数据配置服务器自己。如果需要连接到另一个服务器y,就会使用server.y项的配置信息来与这个服务器进行通信。其中hosetname为服务器在网络n中的名称,同时后面跟了两个tcp的端口号,第一个端口用于事务的发送,第二个端口用于群首选举,典型的端口号配置为2888:3888。如果最后一个字段标识了observer属性,服务器就会进入观察者模式。

zookeeper.cnxTimeout:

在群首选举打开一个新的连接的超时值,ZooKeeper服务器在进行群首选举时互相之间会建立连接,该选项值确定了一个服务器在进行重试前会等待连接成功建立的时间为多久。默认的超时时间为5秒。

你可能感兴趣的:(zookeeper)