停止切割服务
使用Kibana Dev Tools
- 打开Kibana,导航到Dev Tools页面。
- 在Console标签页中,执行以下命令来临时禁止分片的自动分配
Json
1PUT _cluster/settings 2{ 3 "transient": { 4 "cluster.routing.allocation.enable": "none" 5 } 6}
这段命令将集群设置中的cluster.routing.allocation.enable设置为none,这意味着Elasticsearch将停止所有分片的分配操作,无论是初次分配、重分配还是副本分配。
使用curl命令
如果你更倾向于使用命令行,可以通过curl命令来达到同样的效果:
Bash
1curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d' 2{ 3 "transient": { 4 "cluster.routing.allocation.enable": "none" 5 } 6} 7'
停止es集群
启动es集群
启动分片自动分配
重新启用分片分配
当维护操作完成,想要重新启用分片分配时,可以执行以下命令:
通过Kibana Dev Tools
Json
1PUT _cluster/settings 2{ 3 "transient": { 4 "cluster.routing.allocation.enable": "all" 5 } 6}
使用curl命令
Bash
1curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d' 2{ 3 "transient": { 4 "cluster.routing.allocation.enable": "all" 5 } 6} 7'
这些设置是临时的(由transient关键字指定),意味着重启Elasticsearch后会恢复到默认配置。如果需要永久更改,应使用persistent代替transient。但在大多数情况下,临时禁用分片分配足够应对维护操作的需求。
还没有评论,来说两句吧...