0

当我的 elasticsearch.yml 文件为:

cluster.name: elasticsearch-sam-dev
node.name: Wolverine

我的logstash输出配置为:

output {
    elasticsearch {
    cluster => "elasticsearch-sam-dev"
    host => localhost
 }
   stdout { codec => rubydebug }
}

它无法连接到集群并且无法找出原因。当我注释掉 logstash 配置和 elasticsearch.yml 文件中的行集群时,它可以工作。

我得到的错误:

Logstash 错误 - 未完全复制,因为无法从开发环境复制和粘贴 :(

org.elasticsearch.discovery.zend.ping.unicast.UnicastZenPing$4 handlException
WARNING: [logstash-mymachine] failed to send ping to [[

Logstash 转发器错误:

Connecting to [127.0.0.1]:5000 (127.0.0.1)
Failed to tls handshake with 127.0.0.1 read tcp 127.0.0.1:5000: i/o timeout

现在,当我在没有集群名称的情况下重新启动 logstash、logstash-forwarder、elasticsearch 时,一切都会神奇地工作,logstash-forwarder 会处理“x”个事件,并且 logstash 会检测到节点 Wolverine。我无法弄清楚为什么集群名称会导致问题。有没有其他人有同样的问题并设法解决它?

谢谢

4

1 回答 1

0

我解决了这个问题,在我的logstash输出配置中我需要提供一个端口号,所以我的最终配置如下所示,不知道为什么我需要提供一个端口,因为假设它将采用默认值9300,但是它工作。

output {
  elasticsearch {
  cluster => "elasticsearch-sam-dev"
  host => localhost
  port => "9300"
 }
   stdout { codec => rubydebug }
}
于 2015-08-05T10:36:31.560 回答