编程语言
首页 > 编程语言> > java – Hazelcast:连接到远程集群

java – Hazelcast:连接到远程集群

作者:互联网

我们有一个Hazelcast节点集群都在一个远程系统上运行(具有许多节点的单个物理系统).我们希望从外部客户端连接到此集群 – 一个Java应用程序,它使用以下代码连接到Hazelcast:

        ClientConfig clientConfig = new ClientConfig();
        clientConfig.addAddress(config.getHost() + ":" + config.getPort());

        client = HazelcastClient.newHazelcastClient(clientConfig);

其中,host是远程IP,端口是5701.

这仍然连接到本地主机(127.0.0.1).我错过了什么?

编辑:

如果java客户端是本地系统上运行的唯一hazelcast应用程序,则无法连接并抛出异常:java.lang.IllegalStateException:无法获取初始分区!

从日志:

14:58:26.717 [main] INFO c.m.b.p.s.s.HazelcastCacheClient – creating
new Hazelcast instance

14:58:26.748 [main] INFO com.hazelcast.core.LifecycleService –
HazelcastClient[hz.client_0_dev][3.2.1] is STARTING

14:58:27.029 [main] INFO com.hazelcast.core.LifecycleService –
HazelcastClient[hz.client_0_dev][3.2.1] is STARTED

14:58:27.061 [hz.client_0_dev.cluster-listener] INFO
com.hazelcast.core.LifecycleService –
HazelcastClient[hz.client_0_dev][3.2.1] is CLIENT_CONNECTED

14:58:27.061 [hz.client_0_dev.cluster-listener] INFO
c.h.client.spi.ClientClusterService –

Members [5] { Member [127.0.0.1]:5701 Member [127.0.0.1]:5702
Member [127.0.0.1]:5703 Member [127.0.0.1]:5704 Member
[127.0.0.1]:5705 }

14:58:47.278 [main] ERROR c.h.c.spi.ClientPartitionService – Error
while fetching cluster partition table!

com.hazelcast.spi.exception.RetryableIOException:
java.util.concurrent.ExecutionException:
com.hazelcast.core.HazelcastException: java.net.ConnectException:
Connection refused: no further information … Caused by:
java.util.concurrent.ExecutionException:
com.hazelcast.core.HazelcastException: java.net.ConnectException:
Connection refused: no further information

at java.util.concurrent.FutureTask.report(Unknown Source)
~[na:1.8.0_31]

at java.util.concurrent.FutureTask.get(Unknown Source) ~[na:1.8.0_31]

at
com.hazelcast.client.connection.nio.ClientConnectionManagerImpl.getOrConnect(ClientConnectionManagerImpl.java:282)
~[BRBASE-service-manager-1.0.0-jar-with-dependencies.jar:na]

… 14 common frames omitted

Caused by: com.hazelcast.core.HazelcastException:
java.net.ConnectException: Connection refused: no further information

at com.hazelcast.util.ExceptionUtil.rethrow(ExceptionUtil.java:45)
~[BRBASE-service-manager-1.0.0-jar-with-dependencies.jar:na] …

解决方法:

要连接到远程群集,请确保群集使用外部IP而不是127.0.0.1.在我们的例子中,我们有一个物理系统,有多个节点,启用了tcp-ip模式. hazelcast.xml具有以下配置:

        <tcp-ip enabled="true">
            <!-- This should be external IP -->
            <interface>172.x.x.x</interface>
        </tcp-ip>

标签:java,hazelcast
来源: https://codeday.me/bug/20190609/1204314.html