Amazon OpenSearch 服务中的专用协调器节点 - 亚马逊 OpenSearch 服务

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

Amazon OpenSearch 服务中的专用协调器节点

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

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

何时使用专用协调器节点

专用协调器节点在以下场景最为有效。

  • 大型集群:在数据量庞大或查询复杂的环境中,将协调任务卸载至专用节点可提升集群性能。

  • 高频查询:涉及频繁搜索查询或聚合的工作负载,尤其是包含复杂日期直方图或多个聚合的工作负载,可受益于更快的查询处理。

  • 大量使用仪表板- OpenSearch 仪表板可能占用大量资源。将此责任移交至专用协调器节点,可减轻数据节点的负担。

架构和行为

在集 OpenSearch 群中,专用协调器节点负责两个关键职责。

  • 请求处理:这些节点接收传入的搜索请求,并将其转发到存储相关数据的相应数据节点。然后,这些节点将多个数据节点的结果整合为单一的全局结果集,并将其返回给客户端。

  • 仪表板托管 — 协调器节点管理 OpenSearch 仪表板,从而减轻数据节点托管 OpenSearch 仪表板和处理相关流量的额外负担。

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

要求和限制

专用协调器节点具有以下要求和限制。

  • 所有 OpenSearch 版本和 Elasticsearch 版本 6.8 至 7.10 都支持专用协调器节点。

  • 要启用专用协调器节点,您的域必须已启用专用主节点。有关更多信息,请参阅 Amazon OpenSearch 服务中的专用主节点

  • 预置专用协调器节点可能会产生额外费用。然而,资源效率的提升和性能的增强证明这项投资的合理性,尤其对于大型或复杂的集群而言。

预置专用协调器节点

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

要在中配置专用的协调器节点 AWS 管理控制台
  1. https://console.aws.amazon.com/aos/家中登录亚马逊 OpenSearch 服务控制台。

  2. 选择,然后选择要修改的域。

  3. 集群配置部分,选择编辑

  4. 选择启用专用协调器节点

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

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

要使用配置专用协调器节点 AWS CLI,请使用update-domain-config命令。以下示例在域中预置三个 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

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

最佳实践

使用专用协调器节点时,考虑以下最佳实践。

  • 大多数使用案例都应使用通用实例。通用实例在成本和性能之间取得平衡。内存优化型实例适用于需要大量内存资源的工作负载,例如涉及复杂聚合操作或大规模搜索的场景。

  • 良好的起点是预置的专用协调器节点数为数据节点数的 5% 至 10%。例如,如果您的域有 90 个特定实例类型的数据节点,请考虑预置 5 到 9 个相同实例类型的协调器节点。

    注意

    实例类型可用性因区域而异。为协调器节点选择实例类型时,确认所选实例类型在目标区域可用。创建或修改域名时,您可以在 OpenSearch 服务控制台中查看实例类型的可用性。

  • 为最大限度降低单点故障的风险,请预置至少两个专用协调器节点。这确保即使一个节点出现故障,您的集群仍能保持运行状态。

  • 如果使用跨区域搜索,需在目标域中预置专用协调器节点。源域通常不处理协调任务。

  • 对于索引密集型环境,建议选用与数据节点实例规格匹配的 CPU 优化型实例,以实现最佳性能。

  • 对于内存密集型工作负载,为专用协调器节点选用稍大的实例类型,以帮助管理增加的内存需求。

  • 追踪CoordinatorCPUUtilization亚马逊 CloudWatch 指标。如果该指标持续超过 80%,则可能表明您需要更大或更多的协调器节点以处理负载。

  • 调整专用协调器节点的大小,以匹配您的数据节点。例如,使用 4xlarge 数据节点时,应从 4xlarge 通用协调器节点开始。

  • 除非您的单个请求或响应需要极高的内存(in GBs),否则请使用多个较小的实例而不是较少的大型实例作为协调器节点。例如,选择 12 个 4xl 实例,而非 6 个 8xlarge 通用实例。

按集群大小划分的节点推荐

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

集群大小 推荐的协调器节点数 实例类型

小型(最多 50 个节点)

3-5 个节点 通用型

中型(50-100 个节点)

5-9 个节点 内存优化型

大型(超过 100 个节点)

10-15 个节点 内存优化型