允许 Elasticsearch 分配系统中的数据
edit
在 Elasticsearch 部署中,可以使用 启用集群分配配置 来控制数据的分配。
在某些情况下,用户可能希望临时禁用或限制系统中的数据分配。
忘记重新允许所有数据分配可能会导致未分配的分片。
为了(重新)允许所有数据被分配,请按照以下步骤操作:
为了使分片被分配,我们需要更改限制分片分配的配置的值,以允许所有分片被分配。
我们将通过检查系统范围的 cluster.routing.allocation.enable
集群设置 并将配置的值更改为
all。
使用 Kibana
-
登录到 Elastic Cloud 控制台。
-
在Elasticsearch Service面板上,点击您的部署名称。
如果您的部署名称被禁用,您的 Kibana 实例可能不健康,在这种情况下,请与 Elastic 支持 联系。如果您的部署不包含 Kibana,您需要做的就是 首先启用它。
-
打开您的部署的侧边导航菜单(位于左上角的Elastic标志下方),然后转到开发工具 > 控制台。
-
检查 cluster.routing.allocation.enable 集群设置:
GET /_cluster/settings?flat_settings
响应将会是这样的:
{
"persistent": {
"cluster.routing.allocation.enable": "none"
},
"transient": {}
}
|
|
表示当前配置的值,该值控制数据是否部分或完全允许在系统中分配。
|
-
更改 配置
值以允许系统中的所有数据完全分配:
PUT _cluster/settings
{
"persistent" : {
"cluster.routing.allocation.enable" : "all"
}
}
|
|
系统范围配置 allocation.enable 的新值已更改为允许所有分片进行分配。
|
为了使分片被分配,我们需要更改限制分片分配的配置的值,以允许所有分片被分配。
我们将通过检查系统范围的 cluster.routing.allocation.enable
集群设置 并将配置的值更改为
all。
-
检查 cluster.routing.allocation.enable 集群设置:
GET /_cluster/settings?flat_settings
响应将会是这样的:
{
"persistent": {
"cluster.routing.allocation.enable": "none"
},
"transient": {}
}
|
|
表示当前配置的值,该值控制数据是否部分或完全允许在系统中分配。
|
-
更改 配置
值以允许系统中的所有数据完全分配:
PUT _cluster/settings
{
"persistent" : {
"cluster.routing.allocation.enable" : "all"
}
}
|
|
系统范围配置 allocation.enable 的新值已更改为允许所有分片分配。
|