【问题标题】:Elasticsearch Debugging弹性搜索调试
【发布时间】:2016-12-30 20:52:26
【问题描述】:

我们的弹性搜索是一团糟。集群运行状况始终显示为红色,我决定对其进行调查并尽可能对其进行抢救。但我不知道从哪里开始。以下是有关我们集群的一些信息:

{
  "cluster_name" : "elasticsearch",
  "status" : "red",
  "timed_out" : false,
  "number_of_nodes" : 6,
  "number_of_data_nodes" : 6,
  "active_primary_shards" : 91,
  "active_shards" : 91,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 201,
  "number_of_pending_tasks" : 0
}

6 个节点:

host               ip         heap.percent ram.percent load node.role master name
es04e.p.comp.net 10.0.22.63            30          22 0.00 d         m      es04e-es
es06e.p.comp.net 10.0.21.98            20          15 0.37 d         m      es06e-es
es08e.p.comp.net 10.0.23.198            9          44 0.07 d         *      es08e-es
es09e.p.comp.net 10.0.32.233           62          45 0.00 d         m      es09e-es
es05e.p.comp.net 10.0.65.140           18          14 0.00 d         m      es05e-es
es07e.p.comp.net 10.0.11.69            52          45 0.13 d         m      es07e-es

您可以立即看到我有大量未分配的分片 (201)。我遇到了this answer 并尝试了它并得到了'acknowledged:true',但是上面发布的任何一组信息都没有变化。

接下来,我登录到其中一个节点 es04 并查看了日志文件。第一个日志文件有几行引起了我的注意

[2015-05-21 19:44:51,561][WARN ][transport.netty          ] [es04e-es] exception caught on transport layer [[id: 0xbceea4eb]], closing connection

[2015-05-26 15:14:43,157][INFO ][cluster.service          ] [es04e-es] removed {[es03e-es][R8sz5RWNSoiJ2zm7oZV_xg][es03e.p.sojern.net][inet[/10.0.2.16:9300]],}, reason: zen-disco-receive(from master [[es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]]])
[2015-05-26 15:22:28,721][INFO ][cluster.service          ] [es04e-es] removed {[es02e-es][XZ5TErowQfqP40PbR-qTDg][es02e.p.sojern.net][inet[/10.0.2.229:9300]],}, reason: zen-disco-receive(from master [[es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]]])
[2015-05-26 15:32:00,448][INFO ][discovery.ec2            ] [es04e-es] master_left [[es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]]], reason [shut_down]
[2015-05-26 15:32:00,449][WARN ][discovery.ec2            ] [es04e-es] master left (reason = shut_down), current nodes: {[es07e-es][etJN3eOySAydsIi15sqkSQ][es07e.p.sojern.net][inet[/10.0.2.69:9300]],[es04e-es][3KFMUFvzR_CzWRddIMdpBg][es04e.p.sojern.net][inet[/10.0.1.63:9300]],[es05e-es][ZoLnYvAdTcGIhbcFRI3H_A][es05e.p.sojern.net][inet[/10.0.1.140:9300]],[es08e-es][FPa4q07qRg-YA7hAztUj2w][es08e.p.sojern.net][inet[/10.0.2.198:9300]],[es09e-es][4q6eACbOQv-TgEG0-Bye6w][es09e.p.sojern.net][inet[/10.0.2.233:9300]],[es06e-es][zJ17K040Rmiyjf2F8kjIiQ][es06e.p.sojern.net][inet[/10.0.1.98:9300]],}
[2015-05-26 15:32:00,450][INFO ][cluster.service          ] [es04e-es] removed {[es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]],}, reason: zen-disco-master_failed ([es01e-es][JzkWq9qwQSGdrWpkOYvbqQ][es01e.p.sojern.net][inet[/10.0.2.237:9300]])
[2015-05-26 15:32:36,741][INFO ][cluster.service          ] [es04e-es] new_master [es04e-es][3KFMUFvzR_CzWRddIMdpBg][es04e.p.sojern.net][inet[/10.0.1.63:9300]], reason: zen-disco-join (elected_as_master)

在这个部分我意识到有几个节点es01es02es03被删除了。

在此之后,所有日志文件(大约 30 个)只有 1 行:

[2015-05-26 15:43:49,971][DEBUG][action.bulk              ] [es04e-es] observer: timeout notification from cluster service. timeout setting [1m], time since start [1m]

我检查了所有节点,它们具有相同版本的 ES 和 logstash。我意识到这是一个大而复杂的问题,但如果有人能找出问题并将我推向正确的方向,那将是巨大的帮助

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    我相信这可能是因为在某些时候你有一个 split brain issue 并且在 2 个集群中有 2 个版本的相同分片。一个或两个可能有不同的数据集,并且可能已经存在 2 个版本的分片。在某些时候,您可能已经重新启动了整个系统,并且一些分片可能已经进入红色状态。

    先看看是否有数据丢失,如果有,可能是上述情况的原因。接下来确保将最小主节点设置为 N/2+1(N 是分片数),这样这个问题就不会再次出现。

    你可以在红色碎片上使用shard reroute API,看看它是否脱离了红色状态。您可能会在这里丢失分片数据,但这是我看到的将集群状态恢复为绿色的唯一方法。

    【讨论】:

    • 在这种情况下,数据丢失并不是什么大问题。我们意识到我们会失去一些。
    【解决方案2】:

    请尝试安装 Elastic-head 插件来检查,检查分片状态。您将能够看到哪些分片已损坏。

    • 尝试刷新或优化选项。
    • 有时也可以重新启动 Elastic。

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 1970-01-01
      • 2021-11-23
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 2012-02-04
      • 1970-01-01
      • 2018-06-08
      相关资源
      最近更新 更多