首页 > 其他分享 >elasticsearch如何安全重启

elasticsearch如何安全重启

时间:2023-05-31 12:05:39浏览次数:32  
标签:false cluster 重启 shards 安全 elasticsearch 集群 节点

elasticsearch如何安全重启节点

问题:

elasticsearch集群,有时候可能需要修改配置,增加硬盘,扩展内存等操作,需要对节点进行维护升级。但是业务不能停,如果直接kill掉节 点,可能导致数据丢失。而且集群会认为该节点挂掉了,就开始转移数据,当重启之后,它又会恢复数据,如果你当前的数据量已经很大了,这是很耗费机器和网络 资源的。

stackoverflow的问题上说得更准确:

I have an ES cluster with 4 nodes:

number_of_replicas: 1
search01 - master: false, data: false
search02 - master: true, data: true
search03 - master: false, data: true
search04 - master: false, data: true

I had to restart search03, and when it came back, it rejoined the cluster no problem, but left 7 unassigned shards laying about.

{
  "cluster_name" : "tweedle",
  "status" : "yellow",
  "timed_out" : false,
  "number_of_nodes" : 4,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 15,
  "active_shards" : 23,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 7
}

说的就是说shard 表现出来的征兆是出现unassigned,然后开始初始化,rebalance数据,然后就是大量的等待。

解决方案就是:rolling restart

本文转载官方提供的安全重启集群节点的方法:https://www.elastic.co/guide/cn/elasticsearch/guide/current/_rolling_restarts.html

滚动重启

总有一天你会需要做一次集群的滚动重启——保持集群在线和可操作,但是逐一把节点下线。

常见的原因:Elasticsearch 版本升级,或者服务器自身的一些维护操作(比如操作系统升级或者硬件相关)。不管哪种情况,都要有一种特别的方法来完成一次滚动重启。

正常情况下,Elasticsearch 希望你的数据被完全的复制和均衡的分布。如果你手动关闭了一个节点,集群会立刻发现节点的丢失并开始再平衡。如果节点的维护是短期工作的话,这一点就很烦人了,因为大型分片的再平衡需要花费相当的时间(想想尝试复制 1TB 的数据——即便在高速网络上也是不一般的事情了)。

我们需要的是,告诉 Elasticsearch 推迟再平衡,因为对外部因子影响下的集群状态,我们自己更了解。操作流程如下:

  1. 可能的话,停止索引新的数据。虽然不是每次都能真的做到,但是这一步可以帮助提高恢复速度。
  2. 禁止分片分配。这一步阻止 Elasticsearch 再平衡缺失的分片,直到你告诉它可以进行了。如果你知道维护窗口会很短,这个主意棒极了。你可以像下面这样禁止分配:
PUT /_cluster/settings
{
    "transient" : {
        "cluster.routing.allocation.enable" : "none"
    }
}
  1. 关闭单个节点。
  2. 执行维护/升级。
  3. 重启节点,然后确认它加入到集群了。
  4. 用如下命令重启分片分配:
PUT /_cluster/settings
{
    "transient" : {
        "cluster.routing.allocation.enable" : "all"
    }
}

分片再平衡会花一些时间。一直等到集群变成 绿色 状态后再继续。

  1. 重复第 2 到 6 步操作剩余节点。
  2. 到这步你可以安全的恢复索引了(如果你之前停止了的话),不过等待集群完全均衡后再恢复索引,也会有助于提高处理速度。

标签:false,cluster,重启,shards,安全,elasticsearch,集群,节点
From: https://blog.51cto.com/u_11908275/6385829

相关文章

  • Recovering unassigned shards on elasticsearch 2.x——副本shard可以设置replica为0
    Recoveringunassignedshardsonelasticsearch2.x摘自:https://z0z0.me/recovering-unassigned-shards-on-elasticsearch/Igotaccrosstheproblemwhendecidedtoaddanodetotheelasticsearchclusterandthatnodewasnotabletoreplicatetheindexesofthe......
  • SCA 技术进阶系列(二):代码同源检测技术在供应链安全治理中的应用
    直击痛点:为什么需要同源检测随着“数字中国”建设的不断提速,企业在数字化转型的创新实践中不断加大对开源技术的应用,引入开源组件完成应用需求开发已经成为了大多数研发工程师开发软件代码的主要手段。随之而来的一个痛点问题是:绝大多数的应用程序都包含开源组件风险。因而,能够......
  • 【windowns】记一次天玥安全网关无法连接运维机排查
    问题背景:在用天玥安全网关来连接项目中的运维机时,发现无法连接报网络连接错误(报错图如下:),但是通过同网络的区域的其它电脑是可以正常远程到目标主机。解决方案:经过排查发现,是因为之前有做加固操作,WindowsServer远程桌面SSL/TLS漏洞修复  修复过程如下:1、运行“gpedit.m......
  • OWASP移动应用安全测试指南中文版
    OWASP移动应用安全测试指南(MASTG)是OWASP移动应用安全(MAS)旗舰项目的一部分,是一本涵盖移动应用安全分析过程、技术和工具的综合手册,也是一套详尽的测试案例,用于验证OWASP移动应用安全验证标准(MASVS)中列出的要求,为完整和一致的安全测试提供一个基线。OWASPMASVS和MASTG得到了众多平......
  • elasticsearch date_histogram
    (5)DateHistogramAggregation时间直方图聚合,专门对时间类型的字段做直方图聚合。这种需求是比较常用见得的,我们在统计时,通常就会按照固定的时间断(1个月或1年等)来做统计。下面统计学校中同一年出生的学生数。curl-XPOST"192.168.1.101:9200/student/student/_search?search_type=c......
  • Ubuntu 23.10 将改进 PPA 管理以提高安全性
    近日消息,Canonical致力于在未来的Ubuntu版本中实施一种管理PPA档案的新方法。Canonical宣布,他们一直在研究如何在即将发布的Ubuntu23.10(ManticMinotaur)版本中管理PPA(IT之家注:个人软件包档案,PersonalPackageArchives)的新方法。Ubuntu23.10开发于2023......
  • Ubuntu 23.10 将改进 PPA 管理以提高安全性
    近日消息,Canonical致力于在未来的Ubuntu版本中实施一种管理PPA档案的新方法。Canonical宣布,他们一直在研究如何在即将发布的Ubuntu23.10(ManticMinotaur)版本中管理PPA(IT之家注:个人软件包档案,PersonalPackageArchives)的新方法。Ubuntu23.10开发于2023......
  • Ubuntu 23.10 将改进 PPA 管理以提高安全性
    近日消息,Canonical致力于在未来的Ubuntu版本中实施一种管理PPA档案的新方法。Canonical宣布,他们一直在研究如何在即将发布的Ubuntu23.10(ManticMinotaur)版本中管理PPA(IT之家注:个人软件包档案,PersonalPackageArchives)的新方法。Ubuntu23.10开发于2023......
  • 消防安全知识答题活动小程序v4.2.0
    消防安全知识答题活动小程序v4.2.0v4.2.01)JavaScript-数组乱序数组乱序在实际开发过程中是可能碰到的,比如消防安全知识答题活动小程序中实现乱序抽题或者选项乱序。我们一开始可能会想到利用数组的sort方法,判断随机出来的0-1的值与0.5的大小,实现排序。该方法实现如下:vararr=[1,......
  • ElasticSearch使用实例
    当涉及到Elasticsearch的入门实例时,以下是一个详细的示例,展示了如何使用Java高级REST客户端与Elasticsearch进行交互。准备工作:安装Elasticsearch:请按照Elasticsearch官方文档中的说明安装并启动Elasticsearch。添加依赖项:在您的项目的构建文件(例如pom.xml)中,添加Elasticsearc......