2016-06-28 49 views
0

我经常从另一个帖子里删除所有副本解决与curl命令未分配的副本的消息:ElasticSearch: Unassigned Shards, how to fix?Graylog 2.0 - 为什么副本未被分配?

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

我已经运行卷曲命令来配置自动分配,但它并没有解决。

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

  • 为什么我的单节点AWS-AMI Graylog 2.0服务器生成副本 不分配呢?
  • 为什么curl命令将它配置为不应用?
+0

您是否在您的'graylog-server'或Elasticsearch日志中看到任何错误或警告? –

+0

没有什么帮助。我感兴趣的是来自elasticsearch的回应看起来很好。 '{“acknowledged”:true,“persistent”:{},“transient”:{“cluster”:{“routing”:{“allocation”:{“enable”:“all”}}}}}' – razumzhiro

回答

0

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

Elasticsearch索引默认拥有一个副本。但是,您不能仅为单个节点分配分片副本。

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

我该如何做出最好的回应,并不需要定期复制清算?

的一般方法是要么:

  • 修改应用程序无论创建索引以改变它使用副本的数量设置。并非所有应用程序都提供了一个设置来完成此操作,并且完全取决于其设置。
  • 将任何现有模板更改为不期望副本。
    • 这意味着该模板不会被放在那里的系统替换(同样取决于系统)。
  • 创建一个全局模板,默认复制数为0

在模板的情况下,第二和第三个选项的区别是template如何全球是:

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

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

+0

那么我如何做出最好的回应,并不需要定期复制清算?创建第二个节点,还是有其他选择? – razumzhiro

+0

@razumzhiro补充说明 – pickypg

相关问题