ELK|es集群移除节点的正确操作

一直说大数据,大数据,个人理解对于动辄日志量上T的网站来说,这么大的数据量,es管理过程中一定要谨慎再谨慎.
当网站迎来突发流量时,相应的es的日志量也会激增.对于不可预见的流量,临时增加es节点数是起不到缓解效果的,相反因为节点加入,引起shard的动态平衡,反正无形中拖慢速度.
增加es节点,需要注意的不多:在数量量少的凌晨加入,是合适的时机.而节点一旦加入集群,可以自动进行数据平衡,起到缓解的作用.
而对于节点的移除,在操作时,既要照顾日志量,又需要手动设置节点不再写入数据,剩下的就是监控,等待数据完全移走,然后关到es,关机.
本操作在elasticsearch6.0上验证通过

操作位置

直接使用es自带的dev_tools

https://192.168.1.3:5601/app/kibana#/dev_tools/console?_g=()

查看所有节点

GET _cat/nodes?v&s=name
ip            heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.1.4            46          99   0    0.12    0.09     0.10 mdi       -      es1-master
192.168.1.5            60          99   0    0.05    0.13     0.14 mdi       *      es2-master
192.168.1.6            16          99   0    0.00    0.00     0.06 mdi       -      es3-master
192.168.1.7            49          99  28   22.27   25.12    24.48 di        -      es4-data-hot
192.168.1.8            65          99  37   21.70   21.31    20.30 di        -      es5-data-hot
192.168.1.9            55          99  27   24.50   22.41    20.30 di        -      es6-data-hot

如上,192.168.1.9就是我们要移出的机器

移出集群

PUT _cluster/settings
{
  "transient": {
    "cluster.routing.allocation.exclude._ip": "192.168.1.9"
  }
}

观察监控

等待数据恢复

停掉es

没什么好说的,看es是supervisor还是pm2还是service服务,按相应的方式停掉

移出排除记录

及时清理掉历史痕迹是好习惯,不然下次再把同样的ip加入集群,会纳闷为啥,不自动进行数据平衡

PUT _cluster/settings
{
  "transient": {
    "cluster.routing.allocation.exclude._ip": null
  }
}

相关博文

About rainbird

IOS攻城狮
This entry was posted in ELK and tagged , , , , , , , , . Bookmark the permalink.

发表评论