如何从logstash控制弹性索引中的碎片数量?
问题描述:
我想控制一个新的索引应该在我的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个碎片?
答
Logstash-Elasticsearch混合它的设计工作方式与您的期望不同:在Elasticsearch中,定义了一个index template,其中数字或分片是配置设置。
并且每当Logstash通过将文档发送到此新索引来创建新索引时,Elasticsearch会使用该索引模板(通过将新索引名称与配置的模板进行匹配)实际创建索引。
确实。最根本的误解之一是Logstash创建索引。它没有。 Logstash向Elasticsearch发送等价于“请将这些文档放入名为logstash-YYYY.MM.dd的索引”的大容量请求,并且如果索引不存在,Elasticsearch会创建该索引。 Logstash永远不会发出API调用来创建索引。正如Andrei Stefan指出的那样,控制碎片计数和其他设置的唯一方法是通过索引模板。 – untergeek