【问题标题】:Graylog 2.0 -- Why are replicas being unassigned?Graylog 2.0 -- 为什么未分配副本?
【发布时间】:2016-06-28 17:52:22
【问题描述】:

我定期使用另一篇删除所有副本的帖子中的 curl 命令解决未分配的副本消息:ElasticSearch: Unassigned Shards, how to fix?

curl -XPUT localhost:9200/_settings -d '{ "number_of_replicas" :0 }'

我已运行 curl 命令配置自动分配,但无法解决。

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

  • 为什么我的单节点 AWS-AMI Graylog 2.0 服务器会生成副本 没有分配他们?
  • 为什么配置它的 curl 命令不适用?

【问题讨论】:

  • 您是否在graylog-server 或 Elasticsearch 日志中看到任何错误或警告?
  • 没什么帮助。我感兴趣的是弹性搜索的反应似乎很好。 {"acknowledged":true,"persistent":{},"transient":{"cluster":{"routing":{"allocation":{"enable":"all"}}}}}

标签: elasticsearch graylog


【解决方案1】:

为什么我的单节点 AWS-AMI Graylog 2.0 服务器生成副本而不分配它们?

Elasticsearch 索引默认只有一个副本。但是,您不能分配只有一个节点的分片副本。

如果可以,那么副本将在同一台机器上并加倍使用相同的内存,两次。这根本不是你想要的,所以它根本不分配。

我如何最好地应对不需要定期清除副本的情况?

一般的方法是:

  • 在创建索引的位置修改应用程序设置以更改它使用的副本数。并非所有应用程序都提供执行此操作的设置,这完全取决于它们的设置。
  • 更改任何现有模板以不期望副本。
    • 这意味着模板不会被放置它的系统替换(同样,取决于系统)。
  • 创建一个默认副本数为0的全局模板。

在模板的情况下,第二个和第三个选项的区别在于template 的全局性:

{
  "template" : "*",
  "settings" : {
    "number_of_replicas" : 0
  }
}

注意:你不应该设置全局映射,但全局设置完全没问题。

【讨论】:

  • 那么我如何最好地应对不需要定期清除副本的情况?创建第二个节点,还是有替代方案?
  • @razumzhiro 添加了备注
猜你喜欢
  • 1970-01-01
  • 2014-10-29
  • 2017-04-15
  • 2014-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多