ELK之ES2.4.1双实例平滑升级至5.2.1问题解决及supe

ES老集群用的2.4.1版本,跑的比较好就一直没动,最近看资料ES5.X已经稳定,并且性能有较大提升,心里就发痒了,但由于业务要保持高可用的属性,就得想一个平滑升级的方案,最后想到了多实例过度的办法,5.X版本网上介绍配置变化较大,也做好了踩坑准备,确定好要升级后,立刻动手。

一、对应升级改造方案

  使用端口9220和9330 安装并配置好新的ES5.2.1实例——>关掉logstash并将ES2.4.1实例堆栈调小重启(kafka保留3个小时日志所以不会丢失)——>启动ES5.2.1并将logstash开启指向ES5.2.1——>安装新版kibana实例做好指向,老数据用访问——>ES5.2.1配置调优。

二、升级后统一用supervisord-monitor管理

github:https://github.com/mlazarov/supervisord-monitor 

wKioL1i-IMDgoG4kAAHhuEkVDjY449.png

三、优化前后ES的cpu、IO和thread_pool的监控数据如下

优化前:

wKiom1i3yCjS40QJAAMVIA8Hui4955.png

wKioL1i3yGaS3FBiAAIcHJa7s-Y915.png

优化后:

wKiom1iz3MGx3tKQAAKfoNS6Wh8608.png

wKiom1iz3OfReZAmAAEKu6aP5q0812.png

从监控数据看最高的活跃进程数还是bulk的批量处理操作,如果不调优,直接会block。

四、升级过程——编写了ES5.2.1的安装脚本如下

  之前用的rpm包,后考虑直接使用tar包安装,对于需要系统做的调优操作,直接编写自动化安装脚本,一键将所有系统参数配置后,将环境搭建好。

#/bin/sh

#writer:gaolixu

id elasticsearch || useradd elasticsearch -s /sbin/nologin   #添加用户

grep "* - nofile 512000" /etc/security/limits.conf || echo  "* - nofile 512000"  >> /etc/security/limits.conf  #修改文件描述符数量

grep "elasticsearch - nproc unlimited" /etc/security/limits.conf || echo "elasticsearch - nproc unlimited"   >> /etc/security/limits.conf  #修改最大打开进程数数量

grep "fs.file-max = 1024000" /etc/sysctl.conf || echo "fs.file-max = 1024000"  >> /etc/sysctl.conf  #修改系统文件描述符

grep "vm.max_map_count = 262144" /etc/sysctl.conf || echo "vm.max_map_count = 262144"  >>  /etc/sysctl.conf  #修改程序最大管理的vm

sysctl -p

cd /usr/local/src

[ ! -f /usr/local/src/elasticsearch-5.2.1.zip ] && wget 

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.1.zip

[ ! -d /usr/local/src/elasticsearch-5.2.1 ] && unzip elasticsearch-5.2.1.zip

mv elasticsearch-5.2.1 /usr/local/

chown -R elasticsearch:elasticsearch /usr/local/elasticsearch-5.2.1  #修改拥有者所有组

sed -i 's/-XX:+UseConcMarkSweepGC/-XX:+UseG1GC/' /usr/local/elasticsearch-5.2.1/config/jvm.options    #GC方式修改为G1

sed -i 's/-XX:CMSInitiatingOccupancyFraction=75/-XX:MaxGCPauseMillis=200/' /usr/local/elasticsearch-5.2.1/config/jvm.options

sed -i 's/-XX:+UseCMSInitiatingOccupancyOnly/#-XX:+UseCMSInitiatingOccupancyOnly/' /usr/local/elasticsearch-5.2.1/config/jvm.options

五、升级过程——配置文件、索引相关的更新调优

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/eeeecb481914bd8b076c5bd783914243.html