elasticsearch重启

2017-04-29  本文已影响0人  小二上菜2017

elasticsearch集群重启一般采用滚动重启方案。即每次重启一个节点,等该节点重启完成后,再重启下一个节点,直到所有节点重启完成。

1、尽可能停止集群的数据写入,当然在生产环境中,这一点很难做到,所以应该尽量选择数据写入的低峰期重启,以缩短重启时间。

2、关闭自动再平衡功能,这样做的目的在于当集群shutdown之后可以快速的启动。这个参数默认是开启的,默认情况下当实例启动时,会尝试从其他节点实例上拷贝相关的shard副本至本地,这样会浪费大量的时间和耗费高额的IO资源。如果自动再平衡选项关闭了,那么当新的实例启动,尝试加入集群的时候,它不会从其他实例上拷贝shard副本。

PUT /_cluster/settings

{

"transient": {

"cluster.routing.allocation.enable":"none"

}

}

3、完成一些重启前的操作,比如修改配置,更新插件等等。如果只是单纯的重启,跳过此步。

4、关闭一个节点(head或者命令行:curl -XPOST ‘http://192.168.1.1:9200/_cluster/nodes/_local/_shutdown

5、开启该节点,可以通过supervise自动开启,如果没有配置守护进程,也可以通过命令行开启:./elasticsearch >/dev/null 2>&1 &

6、es进程起来后,打开再平衡功能

7、PUT /_cluster/settings

{

"transient": {

"cluster.routing.allocation.enable":"all"

}

}

8、完成数据同步,这个过程需要一定的时间,等集群的状态变成green,数据同步完成。

9、操作下一个节点,重复2-8的操作,直到所有节点完成重启。

10、可选,如果之前有停止数据写入,这时可以重新开启数据写入

11、可选,关闭所有节点的自动再平衡功能,防止因意外重启事件造成系统资源消耗飙升。

上一篇下一篇

猜你喜欢

热点阅读