跳至内容

为什么我的 OpenSearch Service 节点崩溃?

1 分钟阅读
0

我的 Amazon OpenSearch Service 集群中的一个节点已关闭。或者,我的 OpenSearch Service 节点不断崩溃。

解决方法

出现集群节点故障可能是因为 Java 虚拟机 (JVM) 压力或 CPU 使用率过高使节点过载。当硬件故障导致运行状况检查失败时,也会出现集群节点故障。

检查是否存在故障节点

完成以下步骤:

  1. 打开 OpenSearch Service 控制台
  2. 在导航窗格的 Managed clusters(托管集群)下,选择 Domains(域)。
  3. 选择您的 OpenSearch Service 域。
  4. 选择 Cluster health(集群运行状况)选项卡,然后选择 Nodes(节点)。如果节点数少于您为集群配置的数量,则节点已关闭。
    **注意:**在集群配置更改或服务的例行维护期间,Nodes 指标可能不准确。这是预料之中的情况。

识别过载的节点并对其进行故障排除

CPU 和 JVM 压力过高可能会导致节点因高流量而从集群中断开。当节点无法管理负载时,它可能会变得无响应并崩溃。

要对此问题进行故障排除,请重启节点。确保遵守节点重启要求

如果您仍然遇到问题,请检查并降低 OpenSearch Service 集群上的 CPU 利用率JVM 内存压力

识别硬件故障问题并对其进行故障排除

硬件故障可能会影响集群节点的可用性。OpenSearch Service 定期对每个节点执行运行状况检查。如果节点未通过运行状况检查,则 OpenSearch Service 允许其重新加入集群,或自动将其替换为新的运行状况良好的节点。

使用复制来降低数据丢失的风险

运行以下命令,为索引启用副本,以便在 OpenSearch Service 替换崩溃节点时用作备份:

curl -XPUT 'domain-endpoint/indexname/_settings' -H 'Content-Type: application/json' -d'{ "index" : { "number_of_replicas" : 0 }}

**注意:**将 domain-endpoint 替换为您的域端点,将 indexname 替换为您的索引名称。

副本分片提供数据冗余,即使主分片不可用,也允许集群继续处理请求。最佳做法是为每个索引至少配置一个副本。没有副本分片的多节点集群存在数据丢失的风险。有关详细信息,请参阅调整 Amazon OpenSearch Service 域的大小

最佳做法是在每个集群中使用多个数据节点。您不能将副本分片用于单节点集群,因为您无法将主分片和副本分片分配给同一个节点。如果节点崩溃,则会丢失数据。即使您为集群启用了细粒度的访问控制,也会发生这种情况。如果您的单节点集群崩溃,请使用索引快照恢复丢失的数据。

**重要事项:**您只能恢复在最新快照中捕获的数据。

配置多可用区域

当您配置多可用区域时,OpenSearch Service 会在多个可用区启动数据节点。OpenSearch Service 将主分片及其相应的副本分片分发到不同的可用区。如果一个节点或区域出现故障,则您的数据仍然可用。

相关信息

Amazon OpenSearch Service 的最佳操作实践

如何提高 OpenSearch Service 域的容错能力?

如何纵向扩展或横向扩展 OpenSearch Service 域?

为什么我的 OpenSearch Service 域卡滞在"Modifying"状态?

AWS 官方已更新 9 个月前