zookeeper配置文件详解

zoo.cfg配置文件

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

 

配置参数详解(主要是$ZOOKEEPER_HOME$/conf/zoo.cfg文件)

参数名

说明

clientPort

客户端连接server的端口,即对外服务端口,一般设置为2181吧。

dataDir

存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数dataLogDir, 事务日志的写性能直接影响zk性能。

tickTime

ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime。

dataLogDir

事务日志输出目录。尽量给事务日志的输出配置单独的磁盘或是挂载点,这将极大的提升ZK性能。 
(No Java system property)

globalOutstandingLimit

最大请求堆积数。默认是1000。ZK运行的时候, 尽管server已经没有空闲来处理更多的客户端请求了,但是还是允许客户端将请求提交到服务器上来,以提高吞吐性能。当然,为了防止Server内存溢出,这个请求堆积数还是需要限制下的。 
(Java system property:zookeeper.globalOutstandingLimit.)

preAllocSize

预先开辟磁盘空间,用于后续写入事务日志。默认是64M,每个事务日志大小就是64M。如果ZK的快照频率较大的话,建议适当减小这个参数。(Java system property:zookeeper.preAllocSize)

snapCount

每进行snapCount次事务日志输出后,触发一次快照(snapshot), 此时,ZK会生成一个snapshot.*文件,同时创建一个新的事务日志文件log.*。默认是100000.(真正的代码实现中,会进行一定的随机数处理,以避免所有服务器在同一时间进行快照而影响性能)(Java system property:zookeeper.snapCount)

traceFile

用于记录所有请求的log,一般调试过程中可以使用,但是生产环境不建议使用,会严重影响性能。(Java system property:? requestTraceFile)

maxClientCnxns

单个客户端与单台服务器之间的连接数的限制,是ip级别的,默认是60,如果设置为0,那么表明不作任何限制。请注意这个限制的使用范围,仅仅是单台客户端机器与单台ZK服务器之间的连接数限制,不是针对指定客户端IP,也不是ZK集群的连接数限制,也不是单台ZK对所有客户端的连接数限制。指定客户端IP的限制策略,这里有一个patch,可以尝试一下:http://rdc.taobao.com/team/jm/archives/1334(No Java system property)

clientPortAddress

对于多网卡的机器,可以为每个IP指定不同的监听端口。默认情况是所有IP都监听 clientPort指定的端口。 New in 3.3.0

minSessionTimeoutmaxSessionTimeout

Session超时时间限制,如果客户端设置的超时时间不在这个范围,那么会被强制设置为最大或最小时间。默认的Session超时时间是在2 * tickTime ~ 20 * tickTime 这个范围 New in 3.3.0

fsync.warningthresholdms

事务日志输出时,如果调用fsync方法超过指定的超时时间,那么会在日志中输出警告信息。默认是1000ms。(Java system property: fsync.warningthresholdms)New in 3.3.4

autopurge.purgeInterval

在上文中已经提到,3.4.0及之后版本,ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。(No Java system property) New in 3.4.0

autopurge.snapRetainCount

这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。(No Java system property) New in 3.4.0

electionAlg

在之前的版本中, 这个参数配置是允许我们选择leader选举算法,但是由于在以后的版本中,只会留下一种“TCP-based version of fast leader election”算法,所以这个参数目前看来没有用了,这里也不详细展开说了。(No Java system property)

initLimit

Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在initLimit时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。(No Java system property)

syncLimit

在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题。(No Java system property)

leaderServes

默认情况下,Leader是会接受客户端连接,并提供正常的读写服务。但是,如果你想让Leader专注于集群中机器的协调,那么可以将这个参数设置为no,这样一来,会大大提高写操作的性能。(Java system property: zookeeper.leaderServes)。

server.x=[hostname]:nnnnn[:nnnnn]

这里的x是一个数字,与myid文件中的id是一致的。右边可以配置两个端口,第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信。 
(No Java system property)

group.x=nnnnn[:nnnnn]weight.x=nnnnn

对机器分组和权重设置,可以 参见这里(No Java system property)

cnxTimeout

Leader选举过程中,打开一次连接的超时时间,默认是5s。(Java system property: zookeeper. cnxTimeout)

zookeeper.DigestAuthenticationProvider
.superDigest

ZK权限设置相关,具体参见 《 使用super 身份对有权限的节点进行操作 和 《 ZooKeeper 权限控制

skipACL

对所有客户端请求都不作ACL检查。如果之前节点上设置有权限限制,一旦服务器上打开这个开头,那么也将失效。(Java system property: zookeeper.skipACL)

forceSync

这个参数确定了是否需要在事务日志提交的时候调用FileChannel.force来保证数据完全同步到磁盘。(Java system property: zookeeper.forceSync)

jute.maxbuffer

每个节点最大数据量,是默认是1M。这个限制必须在server和client端都进行设置才会生效。(Java system property: jute.maxbuffer)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html 图片 填充方式,css怎么让图片填满?

在css中,可以将div的高度和宽度属性设置为100%,同时使用background-size属性设置背景图片为100%,便可以实现背景图片铺满屏幕。css怎么让图片填满?1、新建一个HTML文件,使用div标签创建一个模块,并设置其cl…

solrcloud线上创建collection,修改默认配置

一、先看API,创建collection1、上传配置文件到zookeeper1) 本地内嵌zookeeper集群:java -classpath ./solr-webapp/webapp/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost localhost:9983,localhost:8574,localhost:9900 …

Android之判断手机黑屏以及锁屏

1、黑屏 /** * 判断是否黑屏 * param c * return */ public final static boolean isScreenLocked(Context c) { android.app.KeyguardManager mKeyguardManager (KeyguardManager) c.getSystemService(c.KEYGUARD_SERVICE); return !mKeyguardManager.inKeyguardRestricte…

豆瓣评分9.4!这一部纪录片,探秘中国的未至之境!

全世界只有3.14 % 的人关注了爆炸吧知识Bilibili 联合“美国国家地理”,悄悄出品了一部史诗级动物记录片,忍不住要推荐给大朋友小朋友们——《未至之境》。这部纪录片由B站和国家地理联合创作,从绵延万里的山脉高原到枝繁叶茂的雨林竹海&…

html5设置不缓存页面,页面的缓存与不缓存设置

HTML的HTTP和谈头信息中把握着页面在几个处所的缓存信息,包含浏览器端,中心缓存办事器端(如:squid等),Web办事器端。本文评论辩论头信息 中带缓存把握信息的HTML页面(JSP/Servlet生成好出来的也是HTML页面)在中心缓存办事器中的缓…

Ubuntu 10.10, 11.04, 11.10这三个版本无法从优盘启动

问题:Ubuntu 10.10, 11.04, 11.10这三个版本无法从优盘启动 解决:从U盘启动安装的时候,会卡住不动。搞定办法相当简单,修改syslinux/syslinuxfg文件:将default vesamenu32这句话注释掉即可,即:将…

.NET内存性能分析指南

.NET Memory Performance Analysis知道什么时候该担心,以及在需要担心的时候该怎么做译者注作者信息:Maoni Stephens - 微软架构师,负责.NET Runtime GC设计与实现 博客链接 Github译者:Bing Translator、INCerry 博客链接&#x…

解决php连接mysql数据库中文乱码问题

首先数据库编码和Mysql连接校对编码要一致: 其次在php文件中加入这两句: 2013-3-21更新: Linux下最好都用UTF-8编码: 1、数据库里面选utf-8_general_ci 2、php文件加上header("Content-Type: text/html; charset utf-8"…

使用反射将DataTable的数据转成实体类

利用反射避免了硬编码出现的错误&#xff0c;但是实体类的属性名必须和数据库名字对应&#xff08;相同&#xff09; 1、利用反射把DataTable的数据写到单个实体类 /// <summary>///利用反射把DataTable的数据写到单个实体类/// </summary>/// <typeparam name&…

Andorid之KeyguardManager的介绍

android.app.KeyguardManager类用于对Keyguard进行管理&#xff0c;即对锁屏进行管理。 详细信息参考&#xff1a; http://blog.csdn.net/hudashi/article/details/7073373 下面的代码用来设定键盘锁和解锁 //声明键盘管理器并获取键盘的服务 KeyguardManager keyguardManage…

html表格在页面间距,在CSS中设置单元格和单元格间距?

梦里花落0921基本要控制css中的“单元格填充”&#xff0c;只需使用padding放在桌子上。例如10便士的“细胞填充物”&#xff1a;td { padding: 10px;}对于“单元格间距”&#xff0c;可以应用border-spacing属性设置到表中。例如&#xff0c;10 px的“单元间距”&#xff1a;t…

DAS,NAS,SAN在数据库存储上的应用

一. 硬盘接口类型1. 并行接口还是串行接口(1) 并行接口&#xff0c;指的是并行传输的接口&#xff0c;比如有0~9十个数字&#xff0c;用10条传输线&#xff0c;那么每根线只需要传输一位数字&#xff0c;即可完成。从理论上看&#xff0c;并行传输效率很高&#xff0c;但是由于…

Spring Data Redis—Pub/Sub(附Web项目源码)

一、发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候&#xff0c;我们称这个客户端为发布者(publisher)。 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE 命令接收信息的时候&#xff0c;我们称这个客户端为订阅者(subscriber)。 为了解耦发布者(publish…

Android之Intent.ACTION_MEDIA_SCANNER_SCAN_FILE:扫描指定文件

1&#xff0e;启动MediaScanner服务&#xff0c;扫描媒体文件&#xff1a; 程序通过发送下面的Intent启动MediaScanner服务扫描指定的文件或目录&#xff1a; Intent.ACTION_MEDIA_SCANNER_SCAN_FILE&#xff1a;扫描指定文件 public void scanFileAsync(Context ctx, String …

libuv 中文编程指南(四)网络

网络 libuv 的网络接口与 BSD 套接字接口存在很大的不同, 某些事情在 libuv 下变得更简单了, 并且所有接口都是都是非阻塞的, 但是原则上还是一致的. 另外 libuv 也提供了一些工具类的函数抽象了一些让人生厌的, 重复而底层的任务,比如使用 BSD 套接字结构来建立套接字, DNS 查…

突破历史,21年C#将首获年度编程语言奖!

2021年渐入尾声&#xff0c;TIOBE今日发布了12月排行榜&#xff0c;Java(第3)持续下滑&#xff0c;PHP(第12)跌出前十&#xff0c;而C#(第5)继续稳步增长。据悉&#xff0c;TIOBE的CEO Paul Jansen表示&#xff0c;C#极有可能获取“TIOBE 年度编程语言奖”。该奖项一般颁发给被…

史上最接近上帝的方程!神秘的数字4.669,目前没有人能解开这个谜语......

全世界只有3.14 % 的人关注了爆炸吧知识上帝指纹统治世界&#xff1f;春节进入倒计时&#xff0c;实不相瞒&#xff0c;超模君想鸽的心蠢蠢欲动&#xff0c;费了好大劲才摁住&#xff01;为了不鸽&#xff0c;连夜翻了个墙&#xff0c;明明刚开始还在认认真真看论文&#xff0c…

html仿苹果浏览器,完美仿iPhone风格主题 领航浏览器体验

1仿iPhone的图标式导航页手机浏览器这个市场因其使用情况极为广泛和频繁因此吸引了无数厂商进入&#xff0c;不仅是传统的浏览器厂商也有许多新晋的手机软件厂商&#xff0c;其产品也从强调省流量、云概念、操作体验和自主核心、HTML 5等功能不一而足&#xff0c;今天带来的体验…

Android之MediaProjectionManager实现手机截屏总结

比较好的文章&#xff1a; Android中使用代码截图的各种方法总结 http://blog.csdn.net/woshinia/article/details/11520403 手机截屏&#xff1a; http://www.cnblogs.com/tgyf/p/4655507.html 转载的地方&#xff1a; http://www.cnblogs.com/tgyf/p/4851092.html 分享一…