OpenSearch
简介
支持的 OpenSearch 版本:3.x
OpenSearch 在各版本之间保持 API 一致性,并继续兼容 Elasticsearch 7.10.2。系统会自动从 root/ping 端点获取 OpenSearch 版本。基于此版本,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 工具和索引生命周期管理(ILM)是 Elasticsearch 特有的功能,不适用于 OpenSearch。OpenSearch 使用索引状态管理(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 别名。
有关部署步骤,请参阅使用 OpenSearch 安装 Alauda Distributed Tracing。