ElasticSearch版本:6.4.2

缩容场景:

公司多个ES集群,占用资源,考虑释放多台服务器。

问题调研:

集群脑裂,集群同时出现多台master节点,导致数据彼此不同步,处理起来会非常麻烦。
ES官方推荐集群最少三台节点构成。那么我考虑将公司的数据集群缩容成两台,两个节点构成的集群能否避免脑裂问题呢?
两个节点构成的集群有哪些风险和优势呢?

问题剖析:

master选举

discovery.zen.minimum_master_nodes参数设置,对master选举至关重要,表示必需有多少台节点参与选举,master选举才能正常进行。参数设置算法是:master候选资格节点数量 / 2 + 1。

三台节点集群master选举和高可用

拿三台节点的集群来说,discovery.zen.minimum_master_nodes = 3/2+1=2,表示最少保证有两台节点参与选举,master选举就能进行。也就是说,保证了每次选举只会产生一个master,不会脑裂;同时,只有保证有两台正常运行,集群仍是可用的,体现微观高可用(毕竟只是三台的初等集群场景)。

综上,三台及以上节点构成的集群,master选举和高可用都可以保证的。

两台节点集群master选举和高可用

拿2台节点的集群来说,discovery.zen.minimum_master_nodes = 2/2+1=2。同样也是2,也就是说,保证两台节点都正常的话,也能进行master选举,且能保证只产生一个master,也不会脑裂;但只要有一台异常,选举就不能进行,集群就不可用。

综上,两台节点构成的集群,master选举正常,不会脑裂,但不能保证高可用。该方案适用于学习或测试环境,资源有限的情况下,也不失为一种集群方案。

实施步骤:

基于kibana完成集群缩容,步骤如下:

  1. 查看集群节点情况,确认要剔除的节点。
    GET /_cat/nodes?v

  2. 通过kibana-》Monitoring-》Nodes,查看被剔除节点占用内存情况,和保留节点的可用内存情况,保证剔除节点后,内存充足。

  3. 执行剔除节点,这将导致Elasticsearch将该节点上的分片分配给其余节点,重点是操作期间,保证ES集群正常可用。重新分配所有分片后,可以关闭被剔除节点。
    PUT _cluster/settings
    {
    “transient”: {
    “cluster.routing.allocation.exclude._ip”: “10.xxx.xxx.xxx”
    }
    }

  4. 通过kibana-》Monitoring-》Nodes,监控分片重新分配情况,直至剔除节点的分片数为0,执行如下命令,查看如果没有节点relocating,则剔除节点已经被安全剔除,可以考虑关闭节点
    GET /_cluster/health?pretty

  5. 关闭节点服务

  6. 置空剔除节点列表
    PUT _cluster/settings
    {
    “transient”: {
    “cluster.routing.allocation.exclude._ip”: null
    }
    }

至此,ElasticSearch集群缩容完成。

ElasticSearch集群缩容相关推荐

  1. 400+节点的 Elasticsearch 集群运维

    作者:Anton Hägerstrand 翻译:杨振涛 Meltwater每天要处理数百万量级的帖子数据,因此需要一种能处理该量级数据的存储和检索技术. 从0.11.X 版本开始我们就已经是Elast ...

  2. 从400+节点ElasticSearch集群的运维中,我们总结了这些经验

    墨墨导读:国外一家舆情监控公司Meltwater每天处理的数据非常庞大--在高峰期需要索引大约300多万社论文章,和近1亿条社交帖子数据.其中社论数据长期保存以供检索(可回溯到2009年),社交帖子数 ...

  3. 400+节点的Elasticsearch集群运维

    墨墨导读:本文将分享我们所学到的经验.如何调优Elasticsearch,以及要绕过的一些陷阱. Meltwater每天要处理数百万量级的帖子数据,因此需要一种能处理该量级数据的存储和检索技术. 从0 ...

  4. 【ElasticSearch】深入理解 relocating rebalance 对Elasticsearch集群的影响

    1.概述 转载:深入理解 relocating 对Elasticsearch集群的影响 rebalance 用于将集群中的分片进行均衡,保持各个节点的分片数量大致相等,当集群扩容或缩容,掉一个节点的时 ...

  5. centos搭建elasticsearch集群

    elasticsearch集群 1)准备工作 三台linux服务器,将下载好的es压缩包分别上传到服务器,然后解压 tar -zxvf elasticsearch-7.8.0-linux-x86_64 ...

  6. Elasticsearch集群跨机房迁移方案

    目录 背景介绍 1 A机房elasticsearch集群基本情况 2 在B机房完成elasticsearch集群扩容 2.1 扩容规划 2.2 启动非master节点 2.3 通知业务修改集群连接地址 ...

  7. Elasticsearch集群索引分片未分配unassigned导致集群状态红色red异常若干问题解决记录

    一.背景 今天收到告警短信发现某个业务系统几台服务器的日志收集服务filebeat均已下线,把Filebeat都重启之后,准备到Kibana查阅业务系统的日志,检索异常条目,发现从凌晨开始的日志条目都 ...

  8. ELK教程1:ElasticSearch集群的部署

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 在分布式系统中,应用数量众多,应用调用链复杂,常常使用ELK作为日志收集.分析和展示的组件.本 ...

  9. 完美避坑!记一次Elasticsearch集群迁移架构实战

    作者介绍 李猛(ynuosoft),Elastic-stack产品深度用户,ES认证工程师,2012年接触Elasticsearch,对Elastic-Stack开发.架构.运维等方面有深入体验,实践 ...

最新文章

  1. Hive 高频考点讲解
  2. ArcMap 水文分析 部分功能
  3. 上币至iamToken
  4. 对于javaScript闭包,立即执行函数的用法的一些理解
  5. 牛客题霸 [ 最小的K个数] C++题解/答案
  6. 动手学pytorch之通俗易懂何为卷积-深度AI科普团队
  7. Windows server 2012 安装exchange 2013
  8. 高效代码之strcpy()实现
  9. 24时区,GMT,UTC,DST,CST时间详解
  10. 基于PCA和贝叶斯决策对CIFAR-10数据图像分类
  11. 鼠标经过背景图片变换
  12. URL调用高德地图导航
  13. python生兔子问题(递归算法)_python 实现兔子生兔子示例
  14. PHP后端接入短信接口为用户发送通知短信
  15. vue大屏展示高度自适应
  16. VNPY策略加密教程
  17. android 系统的组成,简析Android 的GUI 系统组成
  18. 手机如何扫描图片转换成word
  19. 常见移动机器人运动学模型总结
  20. springboot整合ueditor上传图片配置(JSP)从新建项目开始

热门文章

  1. 关于modelsim 10.2c建立工程出现错误:‘can‘t read “Project(EchoCompileOutput)“: no such element in array’的临时解决办法。
  2. android 打开免打扰模式_拿了十年手机,才知道飞行模式还有这4大作用,网友:非常实用...
  3. 【豆瓣电影】2019/11/21/Python搜索豆瓣电影(Top100)爬虫+D3.js词云(票房和豆瓣评分)实现
  4. uniapp 更改浏览器图标
  5. 微信公众号开发学习笔记(一)公众号分类
  6. 02|小菜成长之路,警惕沦为 API 调用侠
  7. proxyTable配置
  8. Google App Engine 入门(中文教程)(一)
  9. 【摄影技巧】摄影的骨架——构图(只为方便查找)
  10. Gradle 1.12用户指南翻译——第五十六章. 多项目构建