logstash - 线程">输出"中的异常org.elasticsearch.discovery.MasterNotDiscoveredException:等待[30s]

Tam*_*mpa 15 elasticsearch logstash

日志存储对我来说是100%的灾难.我在同一台机器上使用LS 1.4.1和ES 1.02.

以下是我启动logstash索引器的方法:

/usr/local/share/logstash-1.4.1/bin/logstash -f /usr/local/share/logstash.indexer.config
input {
  redis {
    host => "redis.queue.do.development.sf.test.com"
    data_type => "list"
    key => "logstash"
    codec => json
  }
}

output {
        stdout { }
        elasticsearch {
                bind_host => "127.0.0.1"
                port => "9300"
        }
}
Run Code Online (Sandbox Code Playgroud)

ES我设置:

network.bind_host: 127.0.0.1
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300"]
Run Code Online (Sandbox Code Playgroud)

哇..这就是我得到的:

/usr/local/share/logstash-1.4.1/bin/logstash -f /usr/local/share/logstash.indexer.config
Using milestone 2 input plugin 'redis'. This plugin should be stable, but if you see strange behavior, please let us know! For more information on plugin milestones, see http://logstash.net/docs/1.4.1/plugin-milestones {:level=>:warn}
log4j, [2014-05-29T12:02:29.545]  WARN: org.elasticsearch.discovery: [logstash-do-logstash-sf-development-20140527082230-866-2010] waited for 30s and no initial state was set by the discovery
Exception in thread ">output" org.elasticsearch.discovery.MasterNotDiscoveredException: waited for [30s]
    at org.elasticsearch.action.support.master.TransportMasterNodeOperationAction$3.onTimeout(org/elasticsearch/action/support/master/TransportMasterNodeOperationAction.java:180)
    at org.elasticsearch.cluster.service.InternalClusterService$NotifyTimeout.run(org/elasticsearch/cluster/service/InternalClusterService.java:492)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(java/util/concurrent/ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(java/util/concurrent/ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(java/lang/Thread.java:744)
Run Code Online (Sandbox Code Playgroud)

Alc*_*zar 20

请参阅http://logstash.net/docs/1.4.1/outputs/elasticsearch

版本说明:您的Elasticsearch集群必须运行Elasticsearch 1.1.1.如果您使用任何其他版本的Elasticsearch,则应在此插件中设置protocol => http.

所以你的问题是logstash不支持你使用的旧ES版本而不使用http传输.


Ber*_*ins 6

设置'protocol =>"http"'对我有用.我期望EPEL repo具有logstash和elasticsearch的补充版本,但ES用于很多东西,因此没有与logstash rpms紧密耦合.