elasticsearch - 弹性 2.3.4。节点启动安静失败

标签 elasticsearch

我们正在使用托管在 Google Cloud (Ubuntu 16.04 LTS) 中的 5 节点集群,我们注意到其中一个节点的磁盘空间为 90%+,因此我们关闭了该节点:

sudo service elasticsearch stop

然后在 GCP 控制台中停止实例。

升级节点的磁盘空间后,我们尝试使用以下命令再次启动弹性:
sudo service elasticsearch start

该命令似乎静默失败,并且 SSH session 在短暂卡住后终止。节点的 elasticsearch 日志中没有显示任何内容,当前集群的主 elasticsearch 日志中也没有显示任何内容。我们能找到的唯一提示是在节点的系统日志中:
Jan 25 15:48:29 elasticsearch-1-vm systemd[1]: Started Cleanup of Temporary Directories.
    Jan 25 15:48:29 elasticsearch-1-vm systemd[1]: Starting Elasticsearch...
    Jan 25 15:48:29 elasticsearch-1-vm systemd[1]: Started Elasticsearch.
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.597729] kernel tried to execute NX-protected page - exploit attempt? (uid: 113)
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.605545] BUG: unable to handle kernel paging request at 00007f896d5467c0
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.612621] IP: 0x7f896d5467c0
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.615779] PGD 80000003050ee067
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.615780] P4D 80000003050ee067
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.619199] PUD 30508d067
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.622626] PMD 305162067
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.625438] PTE 80000003df15b867
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.628245]
    Jan 25 15:48:30 elasticsearch-1-vm kernel: [  919.633174] Oops: 0011 [#1] SMP PTI

具有 4 个节点的集群运行状况为绿色,我们似乎无法弄清楚为什么会发生这种情况。

关于为什么会发生这种情况的任何想法都会非常有帮助。

这是我们位于/etc/default/elasticsearch 中的配置:
https://gist.github.com/deppi/58826c38ea8414d301eb034e9a29cd54

这里也是我们的/etc/elasticsearch/elasticsearch.yml
https://gist.github.com/deppi/17b1f28e649ee528b0fe2ca93a2ff19c

我认为可能导致此问题的唯一原因是 discovery.zen.minimum_master_nodes: 2
什么时候应该配置为
discovery.zen.minimum_master_nodes:3
但我们不确定这是问题所在,不想冒险进一步破坏 Elasticsearch 集群

最佳答案

根据经验,我知道使用 elasticsearch 命令关闭集群并不是最好的,我们遇到了节点没有完全关闭的问题,并试图获得主级别。这可能就是为什么您可以看到 2 个节点,但您的节点不再是其中的一部分。

你应该做的是关闭每个节点上的elasticsearch进程,除非您仍然在两个节点上建立索引 .在这种情况下,请正确关闭您的集群:

  • 每次需要停止 elasticsearch 时首先停止收集,所以如果您使用堆栈
  • 然后停止 elasticsearch 本身 https://www.elastic.co/guide/en/elasticsearch/reference/master/stopping-elasticsearch.html
  • 当你让协议(protocol)发生时启动你的第一个节点
  • 在其他节点上启动 elastic => 查看是否所有节点都进入

  • 如果不是你的配置可能是问题 ,因为我会使用 1 个主节点和 3 个从节点,并使用另一个数据路径。当您需要关闭集群时,停止收集,停止排队,停止存储(弹性),逐个节点

    关于elasticsearch - 弹性 2.3.4。节点启动安静失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48448859/

    相关文章:

    elasticsearch - 无法为 ElasticSearch 编写通配符查询?

    c# - 匹配源ElasticSearch Nest中的每个字段

    node.js - 如何在node js中以更少的时间获得以下 Elasticsearch 数据库结构的结果?

    c# - 用于Elasticsearch NEST查询的LINQ表达式

    c# - 在Elasticsearch 6.x中将Join类型与嵌套类型组合并查询

    c# - 从ElasticSearch查询获取完整值(value)

    elasticsearch - 如何将脚本化度量标准中的Elasticsearch字段的类型从Long更改为Double?

    java - Elasticsearch安装

    elasticsearch - elasticsearch使用OR来查询多个词

    elasticsearch - 通配符和模糊查询在 Elasticsearch 中一起使用