当前位置: 首页 > 知识库问答 >
问题:

如果ElasticSearch节点/索引/碎片损坏,会发生什么

子车成和
2023-03-14

我是ES的新手。我们最近为我们的Prod应用程序设置了一个3节点elasticsearch集群。只是想了解如果ElasticSearch节点或索引或分片损坏会发生什么。

谢谢

共有2个答案

姜淇
2023-03-14

一种方法是,您需要对索引进行增量快照,并需要从该快照进行恢复。

孔欣荣
2023-03-14

实际上会发生什么取决于您如何设置ES集群。

关于数据

  • 如果您有一个奇异集群,损坏将使您的ES设置无用。您几乎需要从头开始设置所有内容。
  • 如果您的集群中有多个节点,可以有以下场景-
    • 如果您将单个节点配置为数据节点并且如果出现故障,您将使集群运行,但查询不会返回任何结果。然后您需要重新配置一个节点以充当数据节点并重新启动集群。
    • 如果您有多个节点被指定为数据节点,那么一个节点的损坏/故障只会影响该节点。其余节点和ES本质上会照常运行。唯一的影响是存储在损坏节点中的数据显然不可用。损坏节点中的分片将成为未分配的分片,必须重新分配给其他数据节点。
    • 如果启用了副本,则不会对数据丢失产生影响。它只是需要将未分配的分片重新分配给某个新数据节点(如果添加)。

    最好有一个多节点集群,其中至少有2个数据节点和副本,以减轻碎片/数据节点损坏。

    这篇Stackoverflow帖子以极好的方式解释了碎片和副本。

    编辑1:这是对你评论的回应。

    默认设置规定每个节点都符合主节点资格并且还存储数据,因此,您的每个节点都可以成为主节点并且还将存储数据。

    让我们将节点视为A、B

    现在,如果节点A关闭,剩下的一个节点(B

    查看此页面,了解集群如何工作的更多信息

 类似资料:
  • 我们如何处理抵消腐败? 我想把偏移量日志保存在其他地方,或者拍摄偏移量的快照。我怎么能这么做?

  • 几天前,我在Cassandra 1.2中删除了一列,方法是:1.删除整个表,2.重新创建表,不带列,3.插入插入语句(不带列)。 我之所以那样做,是因为Cassandra 1.2不支持“降列”操作。 今天,由于数据损坏问题,Ops团队通知了我。我的问题: > 根本原因是什么? 怎么修? 错误[read stage:79]2014-11-04 11:29:55,021 CassandraDaemon

  • 在我的ES集群中,我有10个碎片和2个副本,有5个节点。我只是在集群中添加了一个新节点,它与集群同步了。状态为绿色,根据集群API,我们现在在集群中有6个活动数据节点。但是,当我选中`'http://localhost:9200/_cat/shards'时,没有为该节点分配碎片。因此,没有弹性查询指向这个新添加的节点。该节点的日志文件中没有什么特别之处: 对如何解决这个问题有什么特别的意见吗?

  • 在基于UNIX的操作系统中,每个文件都由一个Inode索引。 Inode是创建文件系统时创建的特殊磁盘块。 文件系统中的文件或目录数量取决于文件系统中的Inode数量。 Inode包含以下信息 - 文件的属性(权限,时间戳,所有权详细信息等) 包含指向文件的前12个块的指针的多个直接块。 指向索引块的单个间接指针。 如果文件不能被直接块完全索引,则使用单个间接指针。 指向磁盘块的双重间接指针,该磁

  • 索引节点 在SFS文件系统中,需要记录文件内容的存储位置以及文件名与文件内容的对应关系。sfs_disk_inode记录了文件或目录的内容存储的索引信息,该数据结构在硬盘里储存,需要时读入内存。sfs_disk_entry表示一个目录中的一个文件或目录,包含该项所对应inode的位置和文件名,同样也在硬盘里储存,需要时读入内存。 磁盘索引节点 SFS中的磁盘索引节点代表了一个实际位于磁盘上的文件。

  • 本文向大家介绍ElasticSearch中的集群、节点、索引、文档、类型是什么?相关面试题,主要包含被问及ElasticSearch中的集群、节点、索引、文档、类型是什么?时的应答技巧和注意事项,需要的朋友参考一下 群集是一个或多个节点(服务器)的集合,它们共同保存您的整个数据,并提供跨所有节点的联合索引和搜索功能。群集由唯一名称标识,默认情况下为“elasticsearch”。此名称很重要,因为