我正在使用Logstash將日誌數據發送到Elasticsearch數據庫。我想從3改變碎片的數量爲1,並通過ES REST API發出以下命令:Logstash一直覆蓋Elasticsearch索引模板
PUT server_name/_template/logstash
{
"template": "logstash",
"settings": {
"index.number_of_replicas": "0",
"index.refresh_interval": "5s",
"index.number_of_shards": "1"
}
}
服務器responsed OK,如果我發出GET _template/logstash我可以看到,碎片的數量是現在設置爲1.
然後,我開始logstash,並將輸出設置爲將日誌傳送到Elasticsearch。沒有模板相關的設置。在我發送日誌數據後,我發現碎片的數量已恢復爲默認值(3)。
我甚至試圖通過引用Logstash配置文件中的模板來覆蓋它。不,不管我指定的設置是否重置。它看起來像Logstash一直覆蓋Elasticsearch索引設置與一些默認值,我不知道如何禁用此。
UPDATE。我已經添加了以下行Logstash配置文件,但它並沒有幫助:
manage_template => false
template_overwrite => true
也試過template_overwrite設置爲false。我試圖在JSON文件中設置碎片數量的兩種不同的方式:
{
"logstash": {
"template": "logstash-*",
"settings": {
"index.number_of_replicas": "0",
"index.refresh_interval": "5s",
"index.number_of_shards": "1"
}
}
}
和
{
"template": "logstash-*",
"settings" : {
"index.number_of_shards" : 1,
"index.number_of_replicas" : 0,
}
}
我已經添加了以下行配置: manage_template =>假 template_overwrite =>真 但我仍然得到碎片後,我刪除索引,然後重新啓動Logstash的默認號碼。 – 2014-09-03 13:44:46
謝謝。試過了。神祕。仍然重置。我還發布了我的JSON文件的內容。 – 2014-09-03 14:39:07
你刪除了logstash- *索引? - 即'curl localhost:9200/_cat/shards | grep logstash'顯示沒有索引/分片?因爲您無法更改已創建索引中的分片數量。 – Alcanzar 2014-09-03 15:03:58