【问题标题】:Not able connect to Hazelcast instance deployed on Openshift from External client无法从外部客户端连接到部署在 Openshift 上的 Hazelcast 实例
【发布时间】:2018-07-05 09:10:53
【问题描述】:

在 Openshift 上部署了 Hazelcast 映像,我创建了一个路由,但仍然无法从外部 Java 客户端连接到它。我开始知道路由仅适用于 HTTP 或 HTTPS 服务,所以我在这里遗漏了什么或者我必须做些什么才能将该 Hazelcast 实例暴露给外部世界?

Hazelcast 的 Docker 映像已创建,它在映像中运行 Hazelcast.jar,这是否与我面临的问题有关?

我尝试通过运行命令来公开服务 oc 暴露 dc hazelcast --type=LoadBalancer --name=hazelcast-ingress

并且生成了具有不同端口号的外部 IP,我也尝试过,但仍然出现“异常 com.hazelcast.core.HazelcastException: java.net.SocketTimeoutException”并且无法连接到它。

提前致谢,任何指导都会非常有帮助。

【问题讨论】:

  • 你有没有进入正在运行的 pod 并查看是否可以 curl 应用程序的本地端口以查看它是否响应?
  • pod 正在运行但无法 curl 端口
  • 澄清一下,您是在 pod 内部运行curl。也就是说,你有没有 oc rsh 进入 pod 并在那里运行它。我不是在谈论使用curl 对抗路由的公开 URL。因此,您将在 pod 中运行 curl localhost:8080curl $HOSTNAME:8080。将端口 8080 更改为它正在侦听的任何端口。如果这不起作用,那么日志是否会显示任何有趣的内容。
  • 我在 POD 终端内尝试了“curl localhost:5701”,得到了响应 curl: (52) Empty reply from server
  • 至少它说它接受了连接。不过,问这个问题很愚蠢,因为我不知何故设法不推断出你说的不是 HTTP 服务。

标签: docker openshift hazelcast


【解决方案1】:

根据this,“...如果客户端应用程序在 OpenShift 项目之外,则集群需要由具有 externalIP 的服务公开,并且 Hazelcast 客户端需要禁用智能路由功能”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 2015-02-09
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    相关资源
    最近更新 更多