2016-06-28 30 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

相關問題