Hwang's Blog

Elasticsearch 的管理运维之重启集群

重启 Elasticsearch 集群

  1. 关闭集群

第一步:关闭自动分布

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
  "persistent": {
	"cluster.routing.allocation.enable": "primaries"
  }
}

第二步:执行同步刷新

curl -X POST "localhost:9200/_flush/synced?pretty"

::注意查看返回的结果中,是否有失败的信息,如果有的话,再执行一次;(执行失败也会返回 200 状态码的,还是要注意看内容)::

第三步:关闭所有节点

通过kill 对应的 pid 进行关闭;

  1. 重新启动集群

第一步:

执行完操作后逐个启动节点

cd [your es home path]
./bin/elasticsearch -d -p  [your es home path]/pid.txt

第二步:

等所有节点启动完成后,可以通过执行如下请求查看集群状态:

curl -X GET "localhost:9200/_cat/health?pretty"
curl -X GET "localhost:9200/_cat/nodes?pretty"

状态分别有:red,yellow,green。

第三步:

启用分片自动分布

curl -X PUT "localhost:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'

{
	"persistent": {  
	"cluster.routing.allocation.enable": null
	}

}

重新启用分配后,集群便开始将副本分片分配给数据节点。此时,恢复索引和搜索是安全的,但是如果您可以等待直到成功分配了所有主分片和副本分片并且所有节点的状态为,集群就会恢复得更快green。

生而为人,应该能够换尿布、策划入侵、杀猪、开船、造房子、 写十四行诗、算账、建墙、正骨、抚慰临终之人、接受命令、 下达命令、合作、独行、解决方程式、分析新问题、 清理马粪、编程、烹饪美食、高效战斗、英勇牺牲。 专业分工是给昆虫准备的。



Powered by Gridea

...