zookeeper堆内存调优(生产环境建议调到2G~4G)
1.查zookeeper的堆内存大小
jmap -heap `jps | awk '/QuorumPeerMain/{print $1}'` | grep MaxHeapSize
QuorumPeerMain
是 zookeeper的 进程名字
2.修改堆内存大小
java.env 需要自己建
vim /baimei/softwares/apache-zookeeper-3.8.1-bin/conf/java.env
#!/bin/bash
# 指定JDK的按住路径
export JAVA_HOME=/baimei/softwares/jdk1.8.0_291
# 指定zookeeper的堆内存大小
export JVMFLAGS="-Xms128m -Xmx128m $JVMFLAGS"
3.将配置文件同步到集群的其他zk节点上
linux集群安装 rsync 同步脚本data_rsync.sh: https://www.baimeidashu.com/10376.html
data_rsync.sh /baimei/softwares/apache-zookeeper-3.8.1-bin/conf/java.env
4.开启zookeeper的JMX
zkEnv.sh文件系统有的
vim /baimei/softwares/apache-zookeeper-3.8.1-bin/bin/zkEnv.sh
(1)添加:
# Add by zzy for enable zookeeper JMX
JMXLOCALONLY=false
JMXHOSTNAME=10.0.0.101
JMXPORT=9999
JMXSSL=false
JMXLOG4J=false
(2)然后同步到集群其他地方:
data_rsync.sh /baimei/softwares/apache-zookeeper-3.8.1-bin/bin/zkEnv.sh
$ZK_HOME/bin/zkEnv.sh
(3)批量修改JMXHOSTNAME
for ((host_id=111;host_id<=113;host_id++)) do ssh elk${host_id} "sed -ri 's#(JMXHOSTNAME=10.0.0.)101#\1${host_id}#g' $ZK_HOME/bin/zkEnv.sh";done
(4)检测
egrep -v '^#|^$' $ZK_HOME/bin/zkEnv.sh
4.重启ZK集群
manager_zk.sh restart
zookeeper集群管理脚本 manager_zk.sh :链接
5.验证堆内存
jmap -heap `jps | awk '/QuorumPeerMain/{print $1}'` | grep MaxHeapSize