当前位置: 首页 > 面试题库 >

弹性重启节点后快速恢复

梁丘诚
2023-03-14
问题内容

考虑一下elasticsearch.yml中的以下设置

gateway.recover_after_data_nodes: 3
gateway.recover_after_time: 5m
gateway.expected_data_nodes: 3

当前设置:说,我有3个数据节点。现在,如果我决定重新启动数据节点(由于设置上的微小更改),则根据期望的data_nodes设置,恢复将在节点重新启动后立即开始。将有许多未分配的分片,这些分片将根据包含的数据缓慢分配。

为了避免这种情况,有没有办法将所有未分配的分片分配到特定节点?(在我的情况下是重新启动的节点),一旦完成,ES应该接管重新平衡。

我主要是想避免群集状态从黄色到绿色的沉重时间间隔(在我的情况下,它处于小时范围内)

我可以为此目的使用群集重新路由API吗?

还是有其他API一次将所有未分配的分片转移到特定节点?


问题答案:

对于 > = 1.0.0的Elasticsearch版本:

curl -XPUT localhost:9200/_cluster/settings -d '{"transient":{"cluster.routing.allocation.enable": "none"}}'
/etc/init.d/elasticsearch restart
curl -XPUT localhost:9200/_cluster/settings -d '{"transient":{"cluster.routing.allocation.enable": "all"}}'

对于早期版本的ES:

curl -XPUT localhost:9200/_cluster/settings -d '{"transient":{"cluster.routing.allocation.disable_allocation": true}}'
/etc/init.d/elasticsearch restart
curl -XPUT localhost:9200/_cluster/settings -d '{"transient":{"cluster.routing.allocation.disable_allocation": false}}'

分片保持未分配状态,直到“
cluster.routing.allocation.disable_allocation”:false,然后在刚刚重启的服务器上恢复分片(以关闭前的大小开始)。这非常快。

参考:http :
//elasticsearch-users.115913.n3.nabble.com/quick-recovery-after-node-restart-
in-elasticsearch-td4033876.html#a4034211



 类似资料:
  • 官方版本下载 最新的MOAC SCS软件可以从官方的发布地址下载 release link, 解压后可以看到有scs的目录,其中有userconfig.json文件,其内容如下: { "VnodeServiceCfg": "localhost:50062", "DataDir": "./scsdata", "LogPath": "./_logs", "Benefic

  • 问题内容: 我正在使用节点v0.10.26并表示v4.2.0,而我对节点还很新。在过去三个多小时的时间里,我一直在想着要在节点上使用文件上传表单,这是我的头。在这一点上,我只是试图让req.files不返回未定义。我的观点看起来像这样 这是我的路线 这是我的app.js 我看到了其中包含的内容,应该可以提供帮助,但是如果添加这些行,我什至无法启动服务器。 问题答案: ExpressJS问题: 大多

  • 本文向大家介绍MySQL 基于时间点的快速恢复方案,包括了MySQL 基于时间点的快速恢复方案的使用技巧和注意事项,需要的朋友参考一下   之所以有这样一篇文章,是因为在前几天的一个晚上,要下班的时候,业务方忽然有一个需求,是需要恢复一个表里面的数据,当时问了下情况,大概是这样的:业务方不小心在一个表里面做了一个update的操作,可能是where条件没有写对,导致表里面的数据被写坏了,但是数据目

  • 问题内容: 对于那些来自PHP背景的人来说,杀死节点并在每次代码更改后重新启动它的过程似乎非常繁琐。使用节点启动脚本以保存代码更改后自动重新启动节点时,是否有任何标志? 问题答案: forever模块具有多个node.js服务器的概念,并且可以启动,重新启动,停止和列出当前正在运行的服务器。它还可以监视文件更改并根据需要重新启动节点。 如果尚未安装,请安装: 安装后,调用命令:使用该标志监视文件的

  • 我有一堆XML文档,其中包含我需要用假数据替换的个人信息。Person节点包含以下元素: UUID-必填项,不应触及。 名字-可选 LastName-可选 地址-可选 个人身份-必需 一个人可能会出现很多次,在这种情况下应该使用相同的假数据,即如果两个person节点具有相同的personID,那么它们都应该接收到相同的假ID。 我已经实现了一些Java代码,这些代码从XML字符串构建一个DOM树

  • 我有一个方法可以创建一个带有节点和关系的图。我想将节点ID列表返回给调用方,以便后面的步骤可以快速定位这些节点并创建其他关系。我将无法返回节点实例。 在SQL世界中,我可以返回主键或唯一键。在neo4j的世界里,我应该回报什么?是否有一个唯一的节点标识符,我可以使用,而不会注定自己的地狱第七级?我有自己的身份证吗?由于我沉迷于SQL,我在学习Neo4J方法时遇到了困难。