首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置logstash以创建elasticsearch索引?

如何配置logstash以创建elasticsearch索引?
EN

Stack Overflow用户
提问于 2016-02-25 00:03:31
回答 3查看 9.3K关注 0票数 3

elasticsearch版本: elasticsearch-2.2.0.rpm日志存储版本: logstash -2.2.2-1 noarch.rpm

我启动elasticsearch,然后用/etc/ logstash /conf.d启动logstash,它具有基本的stdin/stdout,但是没有创建elasticsearch索引。如果我将以下内容添加到我的logstash输出配置中,就会得到一个指示黄色状态的索引:

操作=>“创建”索引=> "main_index“

其黄色且不可用的原因是碎片数为5,副本为3。

curl -XPUT 'http://localhost:9200/index2/‘-d’索引: number_of_shards :1 number_of_replicas :0

"index2“是绿色的和可用的。我如何告诉logstash和/或elasticsearch,我希望我的索引在没有发出curl命令的情况下拥有一个带有0副本的切分?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2016-02-25 04:49:13

你有三个解决方案:

  1. 您将覆盖Logstash使用的默认索引模板,并使用适当的设置(即使用"number_of_replicas": 0 )覆盖提供自己的
  2. 使用适当的索引设置在ES中创建索引模板
  3. elasticsearch.yml中,更改名为index.number_of_replicas的设置并将其设置为0(然后重新启动ES)
票数 4
EN

Stack Overflow用户

发布于 2017-07-07 15:33:14

为了完成瓦尔的回答,下面是ES版本5.x的更新:

解决方案3将无法在配置文件中禁用索引级配置:“因为不能在节点配置上像elasticsearch.yaml一样设置ElasticSearch5.x索引级别设置”

解决方案1确实有效,下面是一个示例:

  • 这里下载并编辑ES 5.x的基本模板。
  • 更改模板名以匹配索引名称模式,并首先添加要更新的索引设置: {“模板”:"syslog*",“版本”:50001,“设置”:{ "index.refresh_interval“:"5s","index.number_of_replicas”:0,"index.number_of_shards“:1 }
  • 更新logstash配置,以便输出使用创建的模板: 输出{ elasticsearch {主机=> "localhost:9200“索引=> "syslog%{+YYYY.MM.dd}”模板=> "path_to_your_template.json“template_name => "syslog*”template_overwrite => true }
  • 重新启动服务
票数 2
EN

Stack Overflow用户

发布于 2016-02-25 04:26:16

例如,您可以创建一个小索引--只创建一个主碎片--并且没有具有以下请求的副本碎片:

代码语言:javascript
复制
   PUT /my_index
       {
        "settings": {
            "number_of_shards" :   1,
            "number_of_replicas" : 0
       }
       }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35615727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档