2017-06-16 26 views
0

我想控制一个新的索引应该在我的logstash输出文件中有多少个碎片。例如:如何从logstash控制弹性索引中的碎片数量?

10 output.conf:

output { 
    if [type] == "mytype" { 
    elasticsearch { 
     hosts => [ "1.1.1.1:9200" ] 
     index => "logstash-mytype-%{+YYYY.ww}" 
     workers => 8 
     flush_size => 1000 
     ? <====== what option to control the number of index shards goes here? 
    } 
} 

从我logstash elastic options明白这是不可能的,新指数将默认为5个碎片?

回答

1

Logstash-Elasticsearch混合它的设计工作方式与您的期望不同:在Elasticsearch中,定义了一个index template,其中数字或分片是配置设置。

并且每当Logstash通过将文档发送到此新索引来创建新索引时,Elasticsearch会使用该索引模板(通过将新索引名称与配置的模板进行匹配)实际创建索引。

+1

确实。最根本的误解之一是Logstash创建索引。它没有。 Logstash向Elasticsearch发送等价于“请将这些文档放入名为logstash-YYYY.MM.dd的索引”的大容量请求,并且如果索引不存在,Elasticsearch会创建该索引。 Logstash永远不会发出API调用来创建索引。正如Andrei Stefan指出的那样,控制碎片计数和其他设置的唯一方法是通过索引模板。 – untergeek