【问题标题】:AWS ElasticSearch Service and DataStreamAWS ElasticSearch 服务和数据流
【发布时间】:2021-09-01 12:34:50
【问题描述】:
AWS ElasticSearch 服务 (OpenDistro) 是否不支持 DataStreams?我今天尝试使用 AWS ElasticSearch 服务创建数据流,但无能为力。试图获取数据流列表只是返回
{
"Message": "Your request: '/_data_stream' is not allowed."
}
根据 X-Pack 文档 here,它指出 6.3 之后的所有 elasticsearch 版本默认都具有 X-Pack,我在 AWS ElasticSearch 服务上使用弹性搜索版本 7.10。
我在文档中找不到任何明确说明是否支持此功能的内容。如果有人可以提供有关此的更多信息,那将是一个很大的帮助。
【问题讨论】:
标签:
amazon-web-services
elasticsearch
aws-elasticsearch
【解决方案1】:
AWS 版本的 ElasticSearch OpenSearch 现在支持数据流。
在这里结帐official docs。
要创建数据流,只需使用以下配置创建一个新索引,
PUT _index_template/logs-template
{
"index_patterns": [
"my-data-stream", // This is the DS index pattern. It can contain wildcards.
],
"data_stream": {}, // This tells OpenSearch to create index as DS.
"priority": 100
}
数据流是由 OpenSearch 在后台创建的索引的集合。您仍将在主索引 my-data-stream 上查询和管理数据,但在内部 OpenSearch 将创建格式为 .ds-<name_of_index>-0000001 的索引。
您还可以在主索引上定义“策略”,例如翻转策略或删除策略,以管理旧数据,例如重新索引超过 30 天的数据。然后,OpenSearch 将在 30 天后创建一个名为 0000002 的新索引,并应用您在 0000001 数据集上指定的策略。
您可以检查系统中定义的所有数据流,
GET /_data_stream
【解决方案2】:
不支持,AWS Elasticsearch Service 和 Elasticsearch 有一些区别。
数据流是仅在 Elastic 本身分发的 Elasticsearch 中可用的功能,在 Elastic License 下获得许可。
AWS 使用了 Elasticsearch 开源版本的一个 fork,所有带有标签 x-pack 的功能都只能在 Elastic 许可下使用,其中一些是免费的,其中一些是 paid,但它们不是在 AWS 使用的 OSS 版本中可用。
从版本 7.11 开始,Elastic changed the license 现在可在 Elastic 和 SSPL 这两个许可证下使用,它们都不允许 AWS 从版本 7.11 开始将 Elasticsearch 作为服务销售。
这导致 AWS 在一个名为 Opensearch 的新项目中分叉了最后一个版本 7.10.2,并且 AWS Elasticsearch Service 将更名为AWS Opensearch Service。