У меня очень простой клиент Hazelcast, который я использую для подключения к кластерному instace. Смотрите, что я подключаюсь к localhost (127.0.0.1), а также к удаленному серверу (xxx.xx.xx.x).Соединение Hazelcast отказано в адресе x
public HazelcastCacheClient(String mapName, Map<K,V> cacheMap) {
Config cfg = new Config();
NetworkConfig networkConfig = cfg.getNetworkConfig();
networkConfig.setPort(5701);
networkConfig.setPortCount(1);
JoinConfig joinConfig = networkConfig.getJoin();
joinConfig.getMulticastConfig().setEnabled(false);
joinConfig.getAwsConfig().setEnabled(false);
joinConfig.getTcpIpConfig()
.addMember("127.0.0.1, xxx.xx.xx.x").setEnabled(true);
HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
Map<String, Integer> map = instance.getMap(mapName);
}
Я открыл порты 5701-5710 на сервере CentOS (xxx.xx.xx.x), но я вижу следующее в журналах:
com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [dev] [3.5.5] Resolving domain name 'xxx.xx.xx.x' to address(es): [xxx.xx.xx.x]
com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [dev] [3.5.5] Interfaces is disabled, trying to pick one address from TCP-IP config addresses: [xxx.xx.xx.x/xxx.xx.xx.x, 127.0.0.1]
com.hazelcast.instance.DefaultAddressPicker
INFO: [LOCAL] [dev] [3.5.5] Picked Address[127.0.0.1]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is true
com.hazelcast.spi.OperationService
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Backpressure is disabled
com.hazelcast.spi.impl.operationexecutor.classic.ClassicOperationExecutor
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Starting with 4 generic operation threads and 8 partition operation threads.
com.hazelcast.system
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Hazelcast 3.5.5 (20160122 - 6805b8e) starting at Address[127.0.0.1]:5701
com.hazelcast.system
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Copyright (c) 2008-2015, Hazelcast, Inc. All Rights Reserved.
com.hazelcast.instance.Node
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Creating TcpIpJoiner
com.hazelcast.core.LifecycleService
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Address[127.0.0.1]:5701 is STARTING
com.hazelcast.nio.tcp.SocketConnector
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Connecting to xxx.xx.xx.x/xxx.xx.xx.x:5701, timeout: 0, bind-any: true
com.hazelcast.nio.tcp.SocketConnector
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Connecting to xxx.xx.xx.x/xxx.xx.xx.x, timeout: 0, bind-any: true
com.hazelcast.nio.tcp.SocketConnector
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Connecting to /127.0.0.1:5703, timeout: 0, bind-any: true
com.hazelcast.nio.tcp.SocketConnector
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Connecting to /127.0.0.1:5702, timeout: 0, bind-any: true
com.hazelcast.nio.tcp.SocketConnector
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Connecting to xxx.xx.xx.x/xxx.xx.xx.x:5703, timeout: 0, bind-any: true
com.hazelcast.nio.tcp.SocketConnector
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Could not connect to: /127.0.0.1:5702. Reason: SocketException[Connection refused to address /127.0.0.1:5702]
com.hazelcast.nio.tcp.SocketConnector
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Could not connect to: /127.0.0.1:5703. Reason: SocketException[Connection refused to address /127.0.0.1:5703]
com.hazelcast.cluster.impl.TcpIpJoiner
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Address[127.0.0.1]:5702 is added to the blacklist.
com.hazelcast.cluster.impl.TcpIpJoiner
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Address[127.0.0.1]:5703 is added to the blacklist.
com.hazelcast.nio.tcp.SocketConnector
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Could not connect to: xxx.xx.xx.x/xxx.xx.xx.x:5701. Reason: SocketException[Connection refused to address xxx.xx.xx.x/xxx.xx.xx.x:5701]
com.hazelcast.cluster.impl.TcpIpJoiner
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Address[xxx.xx.xx.x]:5701 is added to the blacklist.
com.hazelcast.cluster.impl.TcpIpJoiner
INFO: [127.0.0.1]:5701 [dev] [3.5.5]
Members [1] {
Member [127.0.0.1]:5701 this
}
Jul 19, 2016 12:32:45 AM com.hazelcast.core.LifecycleService
INFO: [127.0.0.1]:5701 [dev] [3.5.5] Address[127.0.0.1]:5701 is STARTED
Как вы можете видеть, нет проблем с подключением к localhost (127.0.0.1), но он не может подключиться к удаленному серверу xxx.xx.xx.x. Я включил порт, который будет доступен через брандмауэр на сервере CentOS для 5701.
Обратите внимание на следующую строку, в частности: INFO: [127.0.0.1]: 5701 [DEV] [3.5.5] Не удалось подключиться к: xxx.xx.xx.x/xxx.xx.xx.x: 5701. Причина: SocketException [Connection отказался обратиться xxx.xx.xx.x/xxx.xx.xx.x: 5701]
Вы пытаетесь подключиться к уже запущенному кластеру или добавить другого члена в кластер? Из части кода я вижу, что вы запускаете новый кластер. Если вы не использовали точно такую же конфигурацию для запуска узла в xxx.xx.xx.x: 5701, он не сможет присоединиться к этому узлу для создания кластера, и вместо этого он запустит свой собственный кластер. –
Если вы только намереваетесь запустить клиента, используйте «ClientConfig» и «ClientNetworkConfig» и начните использовать 'HazelcastClient.newHazelcastClient (clientConfig)' –