迁移到数据层路由 API
编辑迁移到数据层路由 API编辑
将索引、ILM 策略以及旧版、可组合和组件模板从使用自定义节点属性和 基于属性的分配过滤器 切换为使用 数据层,并可以选择删除一个旧版索引模板。使用节点角色使 ILM 能够 自动在数据层之间移动索引。
可以按照 将索引分配过滤器迁移到节点角色 页面中所述,手动执行从自定义节点属性路由迁移。
此 API 提供了一种自动执行 迁移指南 中列出的四个手动步骤中的三个步骤的方法。
- 停止在新索引上设置自定义热属性
- 从现有 ILM 策略中删除自定义分配设置
- 用相应的 层级偏好 替换现有索引中的自定义分配设置
请求编辑
POST /_ilm/migrate_to_data_tiers
API 接受一个可选的正文,允许您指定
- 要删除的旧版索引模板名称。默认为无。
- 用于索引和 ILM 策略分配过滤的自定义节点属性名称。默认为
data
。
先决条件编辑
- 在执行迁移之前,必须停止 ILM。使用 停止 ILM API 停止 ILM,并使用 获取状态 API 等待报告的操作模式为
STOPPED
。
查询参数编辑
-
dry_run
- (可选,布尔值) 如果为
true
,则模拟从基于节点属性的分配过滤器到数据层的迁移,但不执行迁移。这提供了一种检索需要迁移的索引和 ILM 策略的方法。默认为false
。
在模拟迁移时(即 dry_run
为 true
),无需停止 ILM。
示例编辑
以下示例将索引、ILM 策略、旧版模板、可组合和组件模板从使用 custom_attribute_name
节点属性定义自定义分配过滤迁移,如果系统中存在名为 global-template
的旧版模板,则将其删除。
response = client.ilm.migrate_to_data_tiers( body: { legacy_template_to_delete: 'global-template', node_attribute: 'custom_attribute_name' } ) puts response
POST /_ilm/migrate_to_data_tiers { "legacy_template_to_delete": "global-template", "node_attribute": "custom_attribute_name" }
如果请求成功,将收到类似以下的响应
{ "dry_run": false, "removed_legacy_template":"global-template", "migrated_ilm_policies":["policy_with_allocate_action"], "migrated_indices":["warm-index-to-migrate-000001"], "migrated_legacy_templates":["a-legacy-template"], "migrated_composable_templates":["a-composable-template"], "migrated_component_templates":["a-component-template"] }
显示已删除的旧版索引模板的名称。如果未删除任何旧版索引模板,则此项将缺失。 |
|
已更新的 ILM 策略。 |
|
已迁移到 层级偏好 路由的索引。 |
|
已更新为不包含为提供的数据属性提供的自定义路由设置的旧版索引模板。 |
|
已更新为不包含为提供的数据属性提供的自定义路由设置的可组合索引模板。 |
|
已更新为不包含为提供的数据属性提供的自定义路由设置的组件模板。 |