• zookeeper配置文件


    进入zookeeper目录下conf目录中会有一个zoo_sample.cfg的demo文件,我们需要将该文件复制一份将文件名改为zoo.cfg
    基础配置:
    clientPort:配置当前服务器对外的服务端口,客户端会通过该端口和zookeeper服务器创建链接一般为2181,每台zookeeper服务器都可以配置任意可用端口,同时集群中的所有服务器不需要保持clientport端口的一直
    dataDir:zookeeper服务器存储快照文件的目录
    tickTime:用于配置zookeeper中最小时间单元的长度,很多运行时的时间间隔都是使用tickTime的倍数来表示的,例如initLimit=10就是tickTime的十倍等于2W毫秒
    高级配置:
    dataLogDir:用于配置zookeeper服务器存储事务日志文件的目录,默认情况会将事务日志文件和快照数据存储在同一个目录中,尽量将两个目录分开如果条件允许,可以将事务日志的存储配置在一个单独的磁盘上,事务日志的记录对磁盘的性能要求非常高,为了保证事务的一致性zookeeper再返回客户端事务请求响应之前必须将本次请求对应的事务日志写入到磁盘中因此事务日志写入的性能直接决定了zookeeper在处理事务请求时的吞吐量针对同一块磁盘的并发读写操作,尤其是数据快照的操作,会极大影响输入日志的写入性能,因此,尽量给事务日志的输出配置单独的磁盘或者挂载点,将极大的提高zookeeper的整体性能
    globalOutstandingLimit:(defalult:1000)最大请求堆积数,在zk运行中客户端会源源不断的将请求发送到服务端,为了防止服务端资源过度消耗,服务端必须限制同时处理的请求数,服务端必须限制最大请求堆积数
    preAlloSize:用于配置zk事务文件预分配的磁盘空间的大小默认是64m
    snapCount:用于配置相邻两次数据快照之间的事务操作次数,zk会在snapCount次事务操作之后,会进行一次数据快照(default:100000)
    maxClientCnxns:该参数从socket层面限制单个客户端与单个服务器之间的并发连接数,是以IP地址的力度来进行连接数的限制,如果将该参数设置为0那么表示对连接数不做任何限制,限制范围仅仅是单台客户机对单台服务器之间的链接数限制,并不能控制所有客户端的连接数总和
    clientPortAddress:针对多网卡的机器允许为每个IP地址制定不同的监听端口
    minSessionTimeout:用于服务端对客户端会话的超时时间进行限制,如果客户端设置的超时时间不在设置时间范围以内,那么会被服务端强制设置为最大或者最小超时时间(default:2times the tickTime)
    maxSessionTimeout:同上(default:20times the tickTime)
    fsync.warningthresholdms:用于配置zk进行事务日志同步操作时消耗时间的报警阈值,一旦进行一个同步操作,消耗的时间大于参数值就会在日志中打印报警日志(3.3.4,defalut:1000)
    autopurge.snapRetainCount:(3.4.0版本开始)zk提供了对历史事务日志和快照数据自动清理的支持,用于配置zookeeper在自动清理的时候需要保留的快照数据文件数量和对应的事务日志文件,最小值时三,如果比3小,会自动调整为3
    autopurge.purgeInterval:同上面参数配套使用,用于配置zk进行历史文件自动清理的频率,如果参数配置为0或者小于零,就表示不开启定时清理功能,ZK默认不开启该功能
    electionAlg:用于配置leader选举算法,3.4.0以后zk只保留了master-leader一种选举算法,目前没有什么用
    initLimit:用于配置leader服务器等待follow服务器启动,并完成数据同步的时间,follow服务器在启动的过程中会与leader服务器建立链接并完成对数据的同步,从而确定自己对外提供服务的起始状态,leader服务器允许follow在initLimit时间内完成这个工作通常情况运维人员不用太在意这个参数的配置,使用默认值即可,默认时10.随着zk数据管理的集群量增大follow服务器在启动的时候从leader上进行同步数据的时间也会响应的变长于是无法在较短的时间内完成数据同步,因此在这种情况下有必要适当的调大这个参数。
    leaderServes:用于配置leader服务器是否接受客户端的链接,也就是否允许leader向客户端直接提供服务,在默认情况下leader服务器能够接受并处理客户端的所有的读写请求,在ZK的架构设计中leader服务器主要是用来进行对事务更新请求的协调以及集群本身的运行时的协调,因此可以让leader服务器不接受客户端的链接以使他专注于进行分布式的协调
    server.x=[hostname]:nnnn[:nnnn]:用于配置zk集群中的服务器列表,基础配置
    syncLimit:用于配置leader和follow服务器进行心跳检测的最大延时时间,在zk集群运行的过程中leader服务器会与所有的follow服务器进行心跳检测来确定这个服务器是否存活,如果leader服务器在这个参数规定的时间内无法获取到follow的心跳检测响应那么leader就会认为这个follow已经脱离和自己的同步通常情况下运维人员使用默认值5即可,如果网络环境延时较大,可以适当调大的值
    cnxTimeout:用于leader选举过程中各个服务器之间进行TCP链接创建的超时时间默认值5000毫秒
    forceSync:用于配置zk服务器是否在事务提交的时候将日志写入操作强制刷入磁盘,默认式yes,设置为NO,能一定程度上提高性能,可能会有断电风险
    jute.maxbuffer:用于配置单个数据节点上可以存储的最大数据量的大小通常情况下运维人员不需要改变这个参数,所有的客户端都设置才能生效,默认式1M,考虑到zk上不适宜存储太大的数据量往往需要将参数设置的更小
    skipACL:用于配置zk是否跳过ssh安全权限检查,默认是NO会对每个客户端进行权限检查,设置为YES能一定程度上提高zk读写性能,同时也将向所有的客户端开放ZK的数据包括之前那些设置过SSL检测的数据节点也将不在接受权限控制

  • 相关阅读:
    P3396 哈希冲突
    P3295 [SCOI2016]萌萌哒
    P2585 [ZJOI2006]三色二叉树
    Leetcode 1546 和为目标值的最大数目不重叠非空子数组数目 贪心前缀和
    Leetcode 200 岛屿数量 压缩路径并查集与DFS
    Leetcode 递增子序列 回溯去重
    机器学习sklearn(76):算法实例(三十三)回归(五)线性回归大家族(三)回归类的模型评估指标
    机器学习sklearn(75):算法实例(三十二)回归(四)线性回归大家族(二)多元线性回归LinearRegression
    机器学习sklearn(74):算法实例(三十一)回归(三)线性回归大家族(一)概述
    机器学习sklearn(73):算法实例(三十)分类(十七)SVM(八)sklearn.svm.SVC(七) SVC真实数据案例:预测明天是否会下雨
  • 原文地址:https://www.cnblogs.com/dayangcong/p/6500833.html
Copyright © 2020-2023  润新知