我想在火花集羣中運行的火花作業使用Hazel Cast Java客戶端進行Hazel cast連接。 Hazelcast作爲kubernetes集羣中的一個容器運行,並且我已經將Hazelcast服務公開爲可以使用節點端口從kubernetes集羣外部訪問。從在火花集羣中運行的Hazelcast java客戶端訪問運行在kubernetes集羣節點內的hazelCast
面對多個Hazel投射吊艙在不同Kubernetes羣集節點中運行的問題,這些節點內部獲取一些專用IP。
下面是Java榛投,我現在用客戶端配置:
cc = new ClientConfig()
var networkConfig:ClientNetworkConfig = cc.getNetworkConfig()
networkConfig.addAddress(kube_node1_IP,kube_node2_IP,kube_node3_IP)
networkConfig.setConnectionAttemptLimit(500)
cc.getSerializationConfig().addSerializerConfig(new SerializerConfig()
.setImplementation(new EventSerializer()).setTypeClass(EventClass))
.addPortableFactoryClass(1, keyFactoryClass)
例外回溯如下:
org.apache.spark.SparkException:作業因中止階段失敗: 階段1.0中的任務0失敗4次,最近失敗:丟失任務0.3 階段1.0中
com.hazelcast.core.HazelcastException:jav a.io.IOException:否 可用連接的地址爲[10.2.36.5]:5701 at com.hazelcast.util.ExceptionUtil.peel(ExceptionUtil.java:73) at com.hazelcast.util.ExceptionUtil。 peel(ExceptionUtil.java:63) at com.hazelcast.util.ExceptionUtil.peel(ExceptionUtil.java:52) at com.hazelcast.util.ExceptionUtil.rethrow(ExceptionUtil.java:83) at com.hazelcast。 client.spi.ClientProxy.invokeOnPartition(ClientProxy.java:128) at com.hazelcast.client.spi.ClientProxy.invoke(ClientProxy.java:120) at com.hazelcast.client.proxy.ClientMapProxy.getInternal(ClientMapProxy。 java:225) at com.hazelcast.client.proxy.ClientMapProxy.get(ClientMapProxy.java: 220)
這裏10.2.36.5
是其中一個榛子鑄造吊艙的私有IP。
P.S. :如果只有單個吊艙,則相同配置沒有問題。
是否需要外部負載均衡器? – abhihdr03