【发布时间】:2014-07-31 15:59:50
【问题描述】:
我正在使用带有 Elasticsearch(安装为 EC2 集群)1.1.1 和 Elasticsearch AWS 插件 2.1.1 的 Logstash 1.4.1。
要尝试 Logstash 是否与 Elasticsearch 正确通信,我使用 -
bin/logstash -e 'input { stdin { } } output { elasticsearch { host => <ES_cluster_IP> } }'
我得到 -
log4j, [2014-06-10T18:30:17.622] WARN: org.elasticsearch.discovery: [logstash-ip-xxxxxxxx-20308-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)
但是当我使用 -
bin/logstash -e 'input { stdin { } } output { elasticsearch_http { host => <ES_cluster_IP> } }'
它适用于以下警告 -
Using milestone 2 output plugin 'elasticsearch_http'. 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}
我不明白为什么即使版本兼容,我也不能使用elasticsearch 而不是elasticsearch_http。
【问题讨论】:
-
您是否尝试过在使用“elasticsearch”时明确设置协议?我会尝试使用“http”、“transport”和“node”,看看是否有区别。
-
@JohnPetrone 工作得很好,谢谢!
-
哪种协议有效?
-
@JohnPetrone 我只尝试了“http”并且效果很好,所以没有转移到其他人。
标签: amazon-web-services elasticsearch logstash