一、Jvm参数

在zookeeper/conf创建java.env文件,以16G内存为例

export JVMFLAGS="-Xms8G -Xmx8G -Xmn4G -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/data/zkout/gc/gc-%t.log $JVMFLAGS"  


二、日志滚动

1.conf/log4j.properties调整为滚动输出

zookeeper.root.logger=WARN, ROLLINGFIL

zookeeper.log.dir=/data/zkout/logs

log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold}
log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file}


 log4j.appender.ROLLINGFILE.MaxFileSize=100MB

2.zkEnv.sh调整日志输出方式

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
    ZOO_LOG_DIR="/data/zkout/logs/"
fi

if [ "x${ZOO_LOG4J_PROP}" = "x" ]
    
then
    ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi

三、系统参数调整

1.limits.conf 设置用户能打开的最大文件数

vim /etc/security/limits.conf
# End of file
root soft nofile 655360  #根据部署用户
root hard nofile 655360
* soft nofile 655360
* hard nofile 655360

2.系统参数调整

vim /etc/sysctl.conf

# 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_syncookies = 1

# 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;为1,开启    
net.ipv4.tcp_tw_reuse = 1

# 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;为1,开启;    
net.ipv4.tcp_tw_recycle = 1  
 
# 修改系統默认的 TIMEOUT 时间    
net.ipv4.tcp_fin_timeout = 5    

# the kernel's socket backlog limit    
net.core.somaxconn = 65535

# the application's socket listen backlog    
net.ipv4.tcp_max_syn_backlog = 100000
 
sysctl -p