允许 Elasticsearch 分配系统中的数据
编辑允许 Elasticsearch 分配系统中的数据
编辑Elasticsearch 部署中数据的分配可以通过 启用集群分配配置 来控制。在某些情况下,用户可能希望暂时禁用或限制系统中数据的分配。
忘记重新允许所有数据分配会导致分片未分配。
为了(重新)允许分配所有数据,请按照以下步骤操作
为了分配分片,我们需要更改 配置 的值,该配置限制分片的分配,以允许分配所有分片。
我们将通过检查系统范围的 cluster.routing.allocation.enable
集群设置 并将其配置的值更改为 all
来实现此目的。
使用 Kibana
- 登录到 Elastic Cloud 控制台。
-
在 Elasticsearch 服务 面板中,单击您的部署名称。
如果您的部署名称被禁用,则您的 Kibana 实例可能不健康,在这种情况下,请联系 Elastic 支持。如果您的部署不包含 Kibana,您只需要 首先启用它。
-
打开部署的侧边导航菜单(位于左上角的 Elastic 徽标下方),然后转到 开发工具 > 控制台。
-
检查
cluster.routing.allocation.enable
集群设置resp = client.cluster.get_settings( flat_settings=True, ) print(resp)
response = client.cluster.get_settings( flat_settings: true ) puts response
const response = await client.cluster.getSettings({ flat_settings: "true", }); console.log(response);
GET /_cluster/settings?flat_settings
响应将如下所示
-
resp = client.cluster.put_settings( persistent={ "cluster.routing.allocation.enable": "all" }, ) print(resp)
response = client.cluster.put_settings( body: { persistent: { 'cluster.routing.allocation.enable' => 'all' } } ) puts response
const response = await client.cluster.putSettings({ persistent: { "cluster.routing.allocation.enable": "all", }, }); console.log(response);
为了分配分片,我们需要更改 配置 的值,该配置限制分片的分配,以允许分配所有分片。
我们将通过检查系统范围的 cluster.routing.allocation.enable
集群设置 并将其配置的值更改为 all
来实现此目的。
-
检查
cluster.routing.allocation.enable
集群设置resp = client.cluster.get_settings( flat_settings=True, ) print(resp)
response = client.cluster.get_settings( flat_settings: true ) puts response
const response = await client.cluster.getSettings({ flat_settings: "true", }); console.log(response);
GET /_cluster/settings?flat_settings
响应将如下所示
-
resp = client.cluster.put_settings( persistent={ "cluster.routing.allocation.enable": "all" }, ) print(resp)
response = client.cluster.put_settings( body: { persistent: { 'cluster.routing.allocation.enable' => 'all' } } ) puts response
const response = await client.cluster.putSettings({ persistent: { "cluster.routing.allocation.enable": "all", }, }); console.log(response);