温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

es大集群切有副本的情况下如何重启es集群

发布时间:2020-06-23 00:57:08 来源:网络 阅读:688 作者:hagretd 栏目:大数据

当您需要执行群集的滚动重新启动时,将使群集保持联机和运行状态,但一次使一个节点脱机。

常见原因是Elasticsearch版本升级或服务器本身的某种维护(例如OS更新或硬件)。无论如何,都有一种特殊的方法来执行滚动重启。

从本质上讲,Elasticsearch希望您的数据能够完全复制并均衡。如果关闭单个节点进行维护,群集将立即识别丢失节点并开始重新平衡。如果您知道节点维护是短期的,这可能会令人恼火,因为非常大的分片的重新平衡可能需要一些时间。

我们想要做的是告诉Elasticsearch推迟重新平衡,因为我们对外部因素导致的集群状态有了更多的了解。程序如下:

  1. 如果可能,请停止索引新数据并执行同步刷新。这并非总是可行,但有助于加快恢复时间。同步刷新请求是“尽力而为”操作。如果有任何挂起的索引操作,它将失败,但如果需要,可以安全地多次重新发出请求。

    POST / _flush / 同步
  2. 禁用分片分配。这可以防止Elasticsearch重新平衡丢失的分片,除非您另有说明。如果您知道维护窗口很短,这是一个好主意。您可以按如下方式禁用分配:

    curl xput  -d'{"transient":{"cluster.routing.allocation.enable":"none"}}'
  3. 停止需要重启的节点:curl xput http://ip:port/_cluster/node/_local/_shutdown

  4. 重新启动节点,并确认它加入群集。

  5. 对其余节点重复步骤3、4。

  6. 重新启用分片分配如下:

    curl xput http://ip:9092/_cluster/shard/setting -d'{"transient":{"cluster.routing.allocation.enable":"all"}}'

    碎片重新平衡可能需要一些时间。等到群集恢复到状态green后再继续。

  7. 此时,您可以安全地恢复索引(如果您之前已停止过),但在恢复索引之前等待群集完全平衡将有助于加快进程。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI