zookeeper java.env_zookeeper在生产环境中的配置(zookeeper3.6)
一,zookeeper中日志的配置
1,快照文件snapshot的目录:
dataDir=/data/zookeeper/data
存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里
所以我们建议指定dataLogDir
2,事务日志的目录
dataLogDir=/data/zookeeper/datalogs
事务日志输出目录,不建议和快照文件写在一个目录下
3,日志清理
ZooKeeper 默认不会自动清理 tx log,总有一天你会遇到磁盘空间耗尽。
可以开启自动清理机制
autopurge.snapRetainCount=300autopurge.purgeInterval=72
#autopurge.purgeInterval=1
自动清理事务日志和快照文件的功能
这个参数是清理频率,单位是小时
默认值是0,表示不开启自动清理功能
#autopurge.snapRetainCount=3
自动清理事务日志和快照文件:保留的文件数量,默认值是保留3个
4,日志的手动清理命令
如果zookeeper集群访问量较高,清理会影响性能,可以手动清理
手动清理文件的例子:
#-n 3 表示保留3个文件
[root@zk1 bin]# /usr/local/soft/apache-zookeeper-3.6.0-bin/bin/zkCleanup.sh -n 3
也可以放到crond中按时间计划执行
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,zookeeper中客户端相关配置
1,客户端连接 Zookeeper 服务器的端口
clientPort=2181
端口端和zookeeper连接时,zookeeper使用的端口,防火墙要放开此端口供客户端访问
2,客户端的并发连接数限制
maxClientCnxns=300
官方说明:
maxClientCnxns : (No Java system property) Limits the number of concurrent connections (at the socket level) that a single client,
identified by IP address,
maymaketo a single member of the ZooKeeper ensemble.
This is used to prevent certain classes of DoS attacks,
includingfiledescriptor exhaustion.
The default is60. Setting this to 0 entirely removes the limit on concurrent connections
对一个客户端的连接数限制,默认值是60
将它设置为0表示取消对并发连接的限制
这个值过低会在日志中出现:too many connections from host - max is 60
可以视实际连接的情况进行调整
3,关闭启动内置的管理器
admin.enableServer=false
避免启动内置的管理器,也避免占用8080端口
三,zookeeper集群的配置
1,tickTime
tickTime=2000
Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
tickTime以毫秒为单位
默认值:2000
保持默认值即可,无需修改
2,initLimit:LF初始通信时限
initLimit=10
集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)
表示允许 follower连接 并同步到 leader 的初始化连接时间,它以 tickTime 的倍数来表示。
当超过设置倍数的 tickTime 时间,则连接失败
在设定的initLimit时间长度内,如果半数以上的跟随者不能完成同步,领导者便会放弃领导地位,进行另一次的领导选举。
如果zk集群环境数量很大则同步数据的时间会变长,这种情况下可以适当调大该参数。
默认为10
3,syncLimit:LF同步通信时限
syncLimit=5
集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)
表示 leader 与 follower 之间发送消息,请求 和 应答 时间长度。
如果 follower 在设置的时间内不能与leader 进行通信,那么此 follower 将被集群丢弃
默认值是5
4,cluster成员列表
#cluster
server.1=172.18.1.1:2888:3888server.2=172.18.1.2:2888:3888server.3=172.18.1.3:2888:3888
server.A = B:C:D
A:zookeeper服务器的序号,即第几号服务器.
注意这个序号要与zookeeper的myid保持一致
B:服务器的 IP 地址
C:服务器跟随者follower与集群中的 Leader 服务器交换信息的端口
D:如果集群中的 Leader 服务器宕机,需要一个端口通信重新进行选举,选出一个新的 Leader。
这个端口就是用来做leader选举的端口
四,为zookeeper的运行配置JVM参数
vi zkEnv.sh
修改:SERVER_JVMFLAGS一行为:
export SERVER_JVMFLAGS="-Xmx2048m -Xms2048m"
说明:这两个参数的作用,
Xmx :程序运行期间最大可占用的内存大小,
如果程序运行需要占用更多的内存,超出了这个设置值,就会抛出 OutOfMemory异常
Xms : 程序启动时占用内存大小
此值可以设置与-Xmx相同,
以避免每次垃圾回收完成后JVM重新分配内存
应设置为多少?
Xmx 默认是物理内存的1/4,
最大建议不超过物理内存的3/4
所以如果没有其他应用同时运行的话,
可以设置为物理内存的1/2再观察调整
五,用jmx监控集群:
1,在zookeeper的conf目录下新建java.env
[root@zk1 conf]# vi java.env
内容:
JMXHOSTNAME="172.18.1.1"JMXPORT=8899
说明:JMXHOSTNAME的值是当前服务器的ip
2,修改zkServer.sh
在
echo "ZooKeeper remote JMX log4j set to $JMXLOG4J" >&2
下面的
ZOOMAIN="-Dcom.sun.management.jmxremote
jmxrmote后面添加:
-Djava.rmi.server.hostname=$JMXHOSTNAME
3,添加完成后,重启服务:
[root@zk1 conf]# systemctl stop zookeeper
[root@zk1 conf]# systemctl start zookeeper
4,启动jconsole,
在远程进程处输入:
172.18.1.1:8899
(说明:这里输入的是远程进程的ip地址和端口)
然后点连接
进入后:
mbean->org.apache.ZooKeeperService
可以看到下面的服务:
例子如图:
六,查看zookeeper版本
[root@zk1 ~]# echo stat|nc 127.0.0.1 2181Zookeeper version:3.6.0--b4c89dc7f6083829e18fae6e446907ae0b1f22d7, built on 02/25/2020 14:38 GMT
zookeeper java.env_zookeeper在生产环境中的配置(zookeeper3.6)相关推荐
- webpack上线版(生产环境中推荐使用)
配置上线版(生产环境)webpack: 实际中将开发环境中和生产环境中打包配置是分开的,两者本质没太大区别,只是生产环境中的webpack打包配置要更加优化合理,下面将具体介绍一下生产环境中webpa ...
- 在java.library.path中找不到允许在生产环境中实现最佳性能的基于APR的Apache Tom.....
在java.library.path中找不到允许在生产环境中实现最佳性能的基于APR的Apache Tom- 2021-6-2 19:55:17 org.apache.catalina.core.Ap ...
- Sentinel(十五)之在生产环境中使用 Sentinel
转载自 在生产环境中使用 Sentinel 引言 Sentinel 目前已可用于生产环境,除了阿里巴巴以外,也有很多企业在生产环境中广泛使用 Sentinel. 生产环境的 Sentinel Das ...
- 在生产环境中使用 Sentinel
文章目录 一.安装zookeeper 1. linux环境 2. windows环境 2. 安装并启动zkui 二.编译打包 2.1. 拉取项目 2.2. 启动 2.3. 登录 sentinel 2. ...
- Dubbo Mesh 在闲鱼生产环境中的落地实践
本文作者至简曾在 2018 QCon 上海站以<Service Mesh 的本质.价值和应用探索>为题做了一次分享,其中谈到了 Dubbo Mesh 的整体发展思路是"借力开源. ...
- 写一段代码提高内存占用_记录一次生产环境中Redis内存增长异常排查全流程!...
点击上方 IT牧场 ,选择 置顶或者星标 技术干货每日送达 最近 DBA 反馈线上的一个 Redis 资源已经超过了预先设计时的容量,并且已经进行了两次扩容,内存增长还在持续中,希望业务方排查一下容量 ...
- 云端设计平台Coohom在生产环境中使用istio的经验与实践
介绍 自从istio-1.0.0在今年发布了正式版以后,Coohom项目在生产环境中也开启了使用istio来作为服务网格. 本文将会介绍与分享在Coohom项目在使用istio中的一些实践与经验. C ...
- JDK 9 发布仅数月,为何在生产环境中却频遭嫌弃?
点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 千呼万唤始出来,在经历了整整一年的跳票之后,Java 9 终于在 9 月 21 日拨开云雾, ...
- java hotspot 默认垃圾回收器_怎么查看服务器默认的垃圾的收集器是哪个?生产环境上如何配置垃圾回收收集器?谈谈你对垃圾收集器的理解?...
上篇:https://zhuanlan.zhihu.com/p/165998261zhuanlan.zhihu.com 一.查看默认的垃圾收集器 1.如何查看默认的垃圾收集器 (1)代码演示: pa ...
最新文章
- 利用dom4j将实体类转换为对应的xml报文
- zabbix专题:第十二章 zabbix proxy分布式监控配置
- DataGridView控件60招(一)
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】【实验一】流水灯模块
- 【译】A Hitchhiker’s Guide to Consensus Algorithms
- 外部方法调用内部_私有属性和私有方法
- catia相合约束怎么反向_人是怎么不知不觉废掉的?进来,帮你
- CSS 文本溢出时显示省略标记
- Extjs grid 设置行字体颜色
- 实践GoF的23种设计模式:SOLID原则(上)
- activiti创建子流程_OA流程图绘制指南
- 安装卸载gitlab
- matlab仿真下载,MATLAB仿真 关于MATLAB建模仿真源程序 - 下载 - 搜珍网
- Redis5.0集群搭建(三主三从)、添加一主一从、JedisCluster连接集群
- 银河麒麟安装Wine
- 宁夏大学计算机科学与技术排名,2016宁夏自治区大学各学科门类最佳专业排行榜...
- 解决 required a bean of type ‘com.aliyun.oss.OSSClient‘ that could not be found
- 毁三观:从 onSavedInstanceState 中取值竟为空?!
- 为您的DC/DC 转换器选择最佳开关频率
- android微信小程序自动填表_微信“填表”类小程序,你可能根本没用对
热门文章
- 自己制作 SPx N合1 自动安装盘(x86)
- javascript的location/history
- Kraken采用CashAddr地址,BCH地址统一向前一步
- 【数据显示:比特币单日交易费用是BCH和BSV一年交易费用的4倍】
- 布赖恩·凯利看好比特币现金:更多的用例可以转化为价值
- 阿里云应用性能管理(APM)产品-应用实时监控服务(ARMS)技术解密 资料下载...
- [JZOJ] 5837.Omeed
- TinyKing的博客园
- qtcreator cannot find -lts
- Linux内存管理-高端内存(一)