允许 Elasticsearch 分配索引

编辑

允许 Elasticsearch 分配索引编辑

可以使用 启用分配配置 来控制数据的分配。在某些情况下,用户可能希望临时禁用或限制数据的分配。

忘记重新允许所有数据分配可能会导致未分配的分片。

要(重新)允许分配所有数据,请按照以下步骤操作

为了分配分片,我们需要将限制分片分配的 配置 的值更改为 all

使用 Kibana

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

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

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

    Kibana Console
  4. 检查具有未分配分片的索引的 index.routing.allocation.enable 索引设置

    response = client.indices.get_settings(
      index: 'my-index-000001',
      name: 'index.routing.allocation.enable',
      flat_settings: true
    )
    puts response
    GET /my-index-000001/_settings/index.routing.allocation.enable?flat_settings

    响应如下所示

    {
      "my-index-000001": {
        "settings": {
          "index.routing.allocation.enable": "none" 
        }
      }
    }

    表示当前配置的值,该值控制是否允许部分或全部分配索引。

  5. 更改 配置 值以允许完全分配索引

    response = client.indices.put_settings(
      index: 'my-index-000001',
      body: {
        index: {
          'routing.allocation.enable' => 'all'
        }
      }
    )
    puts response
    PUT /my-index-000001/_settings
    {
      "index" : {
        "routing.allocation.enable" : "all" 
      }
    }

    已更改 my-index-000001 索引的 allocation.enable 配置的新值,以允许分配所有分片。