索引将索引分配筛选器与数据层节点角色混合在一起,以便在数据层之间移动

编辑

索引将索引分配筛选器与数据层节点角色混合在一起,以便在数据层之间移动编辑

Elasticsearch 在 7.10 版本中将 冷热架构 的实现标准化为 数据层。某些索引和部署可能尚未完全过渡到 数据层,并将实现冷热架构的新方法与基于 旧版 节点属性的方法混合在一起。

这可能会导致未分配的分片或分片未转换到所需

为了解决这个问题,请按照以下步骤操作

为了分配分片,我们需要调用 迁移到数据层路由 API,该 API 将解决冲突的路由配置,以便使用标准化的 数据层。这还将通过在需要时迁移索引模板和 ILM 策略来使系统面向未来。

使用 Kibana

  1. 登录 Elastic Cloud 控制台
  2. Elasticsearch Service 面板中,单击部署的名称。

    如果部署的名称被禁用,则您的 Kibana 实例可能不正常,在这种情况下,请联系 Elastic 支持。如果您的部署不包含 Kibana,您只需 先启用它

  3. 打开部署的侧边导航菜单(位于左上角 Elastic 徽标下方),然后转到 开发工具 > 控制台

    Kibana Console
  4. 首先,让我们 停止 索引生命周期管理

    response = client.ilm.stop
    puts response
    POST /_ilm/stop

    响应将如下所示

    {
      "acknowledged": true
    }
  5. 等待索引生命周期管理停止。检查状态,直到它返回 STOPPED,如下所示

    response = client.ilm.get_status
    puts response
    GET /_ilm/status

    当索引生命周期管理成功停止时,响应将如下所示

    {
      "operation_mode": "STOPPED"
    }
  6. 迁移到数据层

    response = client.ilm.migrate_to_data_tiers
    puts response
    POST /_ilm/migrate_to_data_tiers

    响应将如下所示

    {
      "dry_run": false,
      "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 策略。

    已迁移到 层级偏好 路由的索引。

    已更新的旧版索引模板,不包含为提供的数据属性设置的自定义路由。

    已更新的可组合索引模板,不包含为提供的数据属性设置的自定义路由。

    已更新的组件模板,不包含为提供的数据属性设置的自定义路由。

  7. 重新启动 索引生命周期管理

    response = client.ilm.start
    puts response
    POST /_ilm/start

    响应将如下所示

    {
      "acknowledged": true
    }