Graylog 2.0 - 为什么副本未被分配?

时间:2016-06-28 17:52:23

标签: elasticsearch graylog

我定期使用另一个删除所有副本的帖子中的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命令不应用?

1 个答案:

答案 0 :(得分:0)

  

为什么我的单节点AWS-AMI Graylog 2.0服务器在没有分配副本的情况下生成副本?

Elasticsearch索引默认只有一个副本。但是,您无法仅使用单个节点分配分片副本。

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

  

如何做出最佳回复,不需要定期复制清算?

一般方法是:

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

对于模板,第二个和第三个选项之间的差异是template的全局性:

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

注意:您不应该设置全局映射,但全局设置完全正常。