在IT运维工作中我们使用elasticsearch 作为上百万大数据查询的工具,我们经常会遇到es 内存不足导致es集群分片 损坏的情况,
介于以上情况,我在这里为大家提供es 集群扩容的正确操作方式
我这里使用两台es作为数据节点,分别是es1 和es2,为了将两台服务器节点都从4G调整到16G,
调整前提为整个集群中必须有一台服务器的分片是完整的,否者会导致分片不完整,集群恢复失败,扩容失败!!!
首先使用命令 free -m 检查系统内存大小,ezsonar4.0 中我们使用的是es 5.6 版本的elastirsearch ,
使用head 查看集群状况此时集群是正常状况。
关闭es2 进程经行扩容操作
ps -ef |grep elastic
kill -9 es_pid
关闭进程后es集群报错为红色状态
内存的修改配置文件是/ES_HOME/config/jvm.options
将4G 修改未16G ,es内存最好修改为系统内存的50%,我的这台服务器内存为32G ,最佳内存为16G.
cd /ES_HOME/bin/
./startup.sh
ps -ef |grep elastic
top追踪查看内存消耗情况,
使用head 查看系统情况依然是不可以使用的,但是观察重启以后发现系统内存在逐渐被快速读取使用,到这里你可以放心了,
在恢复过程中你会看到如下情况,集群会从红色变成黄色,然后再变成绿色。下面是正在恢复过程中的情况。不过这个实践会很长
上面我们是扩容恢复es2,然后恢复完成后,
昨晚es2 隔一天我在下午下班时间段做了es1扩容,方式和上面一样,我就不重复了,今天早上查看扩容恢复正常结果如下图所示。
有没有点赞的,来一个,你的赞都是鼓励啊。