OpenSearch

简介

WARNING

支持的 OpenSearch 版本:3.x

OpenSearch 在各个版本之间保持 API 一致性,并且与 Elasticsearch 7.10.2 保持兼容。OpenSearch 版本会自动从 root/ping 端点获取。基于该版本,Jaeger 会使用兼容的索引映射和 OpenSearch REST API。也可以通过 version: 配置属性显式提供版本。

OpenSearch 除了安装并运行 OpenSearch 之外,不需要额外初始化。启动后,将正确的配置值传递给 Jaeger。

Jaeger 对 OpenSearch 使用与 Elasticsearch 相同的存储实现。大多数配置选项的行为也相同,因此有关通用细节请参阅 Elasticsearch 文档。

配置

Jaeger 使用 OpenSearch 后端的示例配置可在 Jaeger 仓库中找到:config-opensearch.yaml。由于 OpenSearch 共享 Elasticsearch 实现,请将 config.go 作为可用选项的权威来源。

分片和副本

分片和副本是需要特别关注的配置值,因为它们在索引创建时就已确定。Elasticsearch 中 分片和副本 的指导同样适用于 OpenSearch。

索引管理

jaeger-es-rollover 工具和 Index Lifecycle Management(ILM)是 Elasticsearch 特有的,不用于 OpenSearch。OpenSearch 使用 Index State Management(ISM)插件而不是 ILM,并且 jaeger-es-rollover init 命令会调用 Elasticsearch _ilm/policy/... 端点,而该端点与 OpenSearch _plugins/_ism/policies/... API 不兼容。

对于 OpenSearch,Alauda Distributed Tracing 使用按天的基于时间索引,并结合 jaeger-es-index-cleaner 来强制执行保留策略。清理器会定期删除早于配置保留期的带日期后缀索引(<prefix>-jaeger-(span|service|dependencies|sampling)-YYYY-MM-DD),而无需依赖 rollover alias。

有关部署步骤,请参阅 使用 OpenSearch 安装 Alauda Distributed Tracing