Amazon OpenSearch Service 中的专用主节点
Amazon OpenSearch Service 使用专用主节点来提高集群稳定性。专用主节点执行群集管理任务,但不保留数据也不响应数据上传请求。此群集管理任务的卸载可增加您的域的稳定性。与所有其他节点类型一样,您为每个专用主节点支付小时费率。
专用主节点执行以下群集管理任务:
-
跟踪集群中的所有节点。
-
跟踪集群中的索引数量。
-
跟踪属于每个索引的分片数量。
-
维护集群中节点的路由信息。
-
在状态更新后更新集群状态,如在集群中创建索引和添加或移除节点。
-
在集群中的所有节点之间复制集群状态的更改。
-
通过发送心跳信号(用于监控集群中数据节点可用性的周期信号)来监控所有集群节点的运行状况。
下图显示包含 10 个实例的 OpenSearch Service 域。七个实例是数据节点,三个是专用主节点。只有一个专用主节点处于活跃状态。两个灰色专用主节点作为备份,以防活跃的专用主节点发生故障。所有数据上传请求由七个数据节点提供,并且所有群集管理任务均卸载到活动的专用主节点。

专用主节点的数量
我们建议您向每个生产 OpenSearch Service 域分配三个专用主节点。请勿选择偶数专用主节点。选择专用主节点的数量时,请考虑以下事项:
-
OpenSearch Service 明确禁止一个专用主节点,因为您在发生故障时没有备份。如果您尝试创建只有一个专用主节点的域,您会收到验证异常。
-
如果您有两个专用主节点,您的集群就没有必需的仲裁节点数,无法在发生故障时选择新的主节点。
仲裁节点数为专用主节点数/2 + 1(向下取整到最近的整数)。在这种情况下,2/2 + 1 = 2。由于一个专用主节点发生了故障且仅存在一个备份,因此集群没有达到仲裁节点数且无法选择新的主节点。
-
三个专用主节点(建议的数量)可在主节点发生故障时提供两个备份节点和必要的仲裁节点数 (2) 来选择新主节点。
-
四个专用主节点并不比三个好,如果您使用多个可用区,可能会导致问题。
-
如果一个主节点发生故障,您有选择新主节点所需的仲裁节点数 (3)。如果两个节点发生故障,则您会失去该仲裁节点数,正如您具有三个专用主节点时一样。
-
在三个可用区配置中,两个可用区具有一个专用主节点,一个可用区有两个。如果该 AZ 发生中断,其余两个可用区没有选择新主节点所需的仲裁节数 (3)。
-
-
拥有五个专用主节点与拥有三个节点效果一样,并且允许您在维持仲裁节点数的同时丢失两个节点。但是,由于在任何给定时间只有一个专用主节点处于活跃状态,因此此配置意味着您需要为四个空闲节点付费。许多用户发现,这一级别的故障转移保护有些过剩。
如果一个集群具有偶数个符合主节点条件的节点,则 OpenSearch 和 Elasticsearch 版本 7.x 及更高版本将忽略一个节点,以便投票配置始终为奇数。在此情况下,4 个专用主节点实质上相当于 3 个(2 比 1)。
如果您的集群没有必要的仲裁节点数来选择新的主节点,则集群的写入和 读取请求均会失败。此行为不同于 OpenSearch 的默认行为。
为专用主节点选择实例类型
虽然专用主节点不处理搜索和查询请求,但它们的大小与其管理的实例、索引和分片数量高度相关。对于生产群集,我们建议专用主节点采用以下实例类型。
这些建议基于典型工作负载,可能根据您的需求而有所不同。具有许多分片或字段映射的集群可受益于更大的实例类型。监控专用主节点指标以查看您是否需要使用更大的实例类型。
实例计数 |
主节点 RAM 大小 | 支持的最大分片数 |
推荐的最小专用主实例类型 |
---|---|---|---|
1–10 |
8 GiB | 10K |
|
11–30 |
16 GiB | 30K |
|
31–75 | 32 GiB | 75K |
|
76 — 125 | 64 GiB | 75K |
|
126 – 200 |
128 GiB | 75K |
|
-
有关特定配置更改如何影响专用主节点的信息,请参阅在 Amazon OpenSearch Service 中进行配置更改。
-
有关说明实例计数限制的澄清,请参阅域和实例配额。
-
有关特定实例类型的更多信息,包括 vCPU、内存和定价,请参阅 Amazon OpenSearch Service 价格
。