

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon OpenSearch 服务中的专用协调器节点
<a name="Dedicated-coordinator-nodes"></a>

Amazon S OpenSearch ervice 中的专用协调器节点是从数据节点卸载协调任务的专用节点。这些任务包括管理搜索请求和托管 OpenSearch 仪表板。通过分离这些功能，专用协调器节点可减少数据节点的负载，使其能够专注于数据存储、索引和搜索操作。这将提升集群的整体性能和资源利用率。

此外，专用协调器节点有助于减少 VPC 配置所需的私有 IP 地址数量，以提高网络管理效率。此设置可使索引吞吐量提升高达 15%，查询性能提升 20%，具体取决于工作负载特征。

## 何时使用专用协调器节点
<a name="dedicated-coordinator-nodes-uses"></a>

专用协调器节点在以下场景最为有效。
+ **大型集群**：在数据量庞大或查询复杂的环境中，将协调任务卸载至专用节点可提升集群性能。
+ **高频查询**：涉及频繁搜索查询或聚合的工作负载，尤其是包含复杂日期直方图或多个聚合的工作负载，可受益于更快的查询处理。
+ **大量使用仪表板**- OpenSearch 仪表板可能占用大量资源。将此责任移交至专用协调器节点，可减轻数据节点的负担。

## 架构和行为
<a name="dedicated-coordinator-nodes-architecture"></a>

在集 OpenSearch 群中，专用协调器节点负责两个关键职责。
+ **请求处理**：这些节点接收传入的搜索请求，并将其转发到存储相关数据的相应数据节点。然后，这些节点将多个数据节点的结果整合为单一的全局结果集，并将其返回给客户端。
+ **仪表板托管** — 协调器节点管理 OpenSearch 仪表板，从而减轻数据节点托管 OpenSearch 仪表板和处理相关流量的额外负担。

在 VPC 域中，为专用的协调器节点分配弹性网络接口 (ENIs)，而不是数据节点。这种安排有助于减少所需的私有 IP 地址数量 VPCs，从而提高网络效率。通常情况下，专用协调器节点数约占总数据节点数的 10%。

## 要求和限制
<a name="dedicated-coordinator-nodes-requirements"></a>

专用协调器节点具有以下要求和限制。
+ 所有 OpenSearch 版本和 Elasticsearch 版本 6.8 至 7.10 都支持专用协调器节点。
+ 要启用专用协调器节点，您的域必须已启用专用主节点。有关更多信息，请参阅 [Amazon OpenSearch 服务中的专用主节点](managedomains-dedicatedmasternodes.md)。
+ 预置专用协调器节点可能会产生额外费用。然而，资源效率的提升和性能的增强证明这项投资的合理性，尤其对于大型或复杂的集群而言。

## 预置专用协调器节点
<a name="dedicated-coordinator-nodes-provisioning"></a>

执行以下步骤，在现有域中配置专用协调器节点。在配置协调器节点之前，确保您的域已启用专用*主*节点。

### 控制台
<a name="dedicated-coordinator-nodes-provisioning-console"></a>

**要在中配置专用的协调器节点 Amazon Web Services 管理控制台**

1. 在[https://console.aws.amazon.com/aos/家](https://console.amazonaws.cn/aos/home)中登录亚马逊 OpenSearch 服务控制台。

1. 选择**域**，然后选择要修改的域。

1. 在**集群配置**部分，选择**编辑**。

1. 选择**启用专用协调器节点**。

1. 选择要预置的协调器节点的实例类型和数量。

1. 选择**保存更改**。域更新可能需要几分钟时间。

### Amazon CLI
<a name="dedicated-coordinator-nodes-provisioning-cli"></a>

要使用配置专用协调器节点 Amazon CLI，请使用[update-domain-config](https://docs.amazonaws.cn/cli/latest/reference/opensearch/update-domain-config.html)命令。以下示例在域中预置三个 `r6g.large.search` 协调器节点。

```
aws opensearch update-domain-config \
  --domain-name my-opensearch-domain \
  --cluster-config InstanceCount=3,InstanceType=r6g.large.search,DedicatedCoordinatorCount=3,ZoneAwarenessEnabled=true,DedicatedCoordinatorEnabled=true
```

此命令启用专用协调器节点，设置协调器节点的实例类型和数量，并启用区域感知，以提高可用性。

## 最佳实践
<a name="best-practices-dedicated-coordinator-nodes"></a>

使用专用协调器节点时，考虑以下最佳实践。
+ 大多数使用案例都应使用通用实例。通用实例在成本和性能之间取得平衡。内存优化型实例适用于需要大量内存资源的工作负载，例如涉及复杂聚合操作或大规模搜索的场景。
+ 良好的起点是预置的专用协调器节点数为数据节点数的 5% 至 10%。例如，如果您的域有 90 个特定实例类型的数据节点，请考虑预置 5 到 9 个相同实例类型的协调器节点。
**注意**  
实例类型可用性因区域而异。为协调器节点选择实例类型时，确认所选实例类型在目标区域可用。创建或修改域名时，您可以在 OpenSearch 服务控制台中查看实例类型的可用性。
+ 为最大限度降低单点故障的风险，请预置至少两个专用协调器节点。这确保即使一个节点出现故障，您的集群仍能保持运行状态。
+ 如果使用跨区域搜索，需在目标域中预置专用协调器节点。源域通常不处理协调任务。
+ 对于索引密集型环境，建议选用与数据节点实例规格匹配的 CPU 优化型实例，以实现最佳性能。
+ 对于内存密集型工作负载，为专用协调器节点选用稍大的实例类型，以帮助管理增加的内存需求。
+ 追踪`CoordinatorCPUUtilization`亚马逊 CloudWatch 指标。如果该指标持续超过 80%，则可能表明您需要更大或更多的协调器节点以处理负载。
+ 调整专用协调器节点的大小，以匹配您的数据节点。例如，使用 4xlarge 数据节点时，应从 4xlarge 通用协调器节点开始。
+ 除非您的单个请求或响应需要极高的内存（in GBs），否则请使用多个较小的实例而不是较少的大型实例作为协调器节点。例如，选择 12 个 4xl 实例，而非 6 个 8xlarge 通用实例。

### 按集群大小划分的节点推荐
<a name="dedicated-coordinator-nodes-recs"></a>

请根据集群规模，将以下指南作为预置专用协调器节点的起点。根据工作负载特征和性能指标调整节点数量及类型。


| 集群大小 | 推荐的协调器节点数 | 实例类型 | 
| --- | --- | --- | 
|  小型（最多 50 个节点）  | 3-5 个节点 | 通用型 | 
|  中型（50-100 个节点）  | 5-9 个节点 | 内存优化型 | 
|  大型（超过 100 个节点）  | 10-15 个节点 | 内存优化型 | 