【发布时间】:2019-03-08 00:01:24
【问题描述】:
我有一个跨 4 个不同主机运行的 ELK docker swarm 设置。我可以 ping 不同主机上的容器,但是当我尝试运行 curl 命令时,它没有连接curl http://elastic:9200。 Logstash 和 kibana 应用程序无法连接到不同主机上的 elasticsearch 容器(3 节点 es 集群)。我已经在所有主机https://docs.docker.com/engine/swarm/swarm-tutorial/#the-ip-address-of-the-manager-machine 上打开了 docker swarm 文档中提到的所有端口,但没有运气。关闭所有主机上的防火墙后,LS/Kibana 可以连接到 elasticsearch。
尝试恢复与死掉的 ES 实例的连接,但出现错误 Unable to connect to Elasticsearch at http://es-proxy:9200/
有人遇到过这个问题吗?谢谢。
【问题讨论】:
-
为什么选择本地主机?我认为它应该是服务名称。除了最后一段之外,您还可以添加其他信息吗?
-
我没有使用本地主机。我正在使用es-proxy:9200 负载平衡器。我相信我发布了错误的错误信息。我会更新的。本质上,它只是不断抛出一个错误,说它无法连接。
-
Elasticsearch 也需要多个端口。你已经打开了吗?
-
是的,我也打开了 elasticsearch 端口。端口 9200 和 9300。
-
如您所说,防火墙转发策略是最有可能出现的问题。所以我假设您可以添加有关如何打开端口的信息。这可能会有很大帮助~
标签: docker elasticsearch logstash kibana docker-swarm