任何关于这个错误的想法:
没有可用的Hazelcast实例。请通过"HazelcastCachingProvider.HAZELCAST_CONFIG_LOCATION“指定您的哈兹卡斯特配置文件路径
在本地kubernetes中使用此cfg工作得很好,但当我设置Kubernetes = true并将多播设置为false时,总是得到此错误。我正尝试在IBMCloud Kubernetes中使用它来实现自由。
<hazelcast xmlns="http://www.hazelcast.com/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.hazelcast.com/schema/config
https://hazelcast.com/schema/config/hazelcast-config-3.12.xsd">
<group>
<name>cluster</name>
</group>
<network>
<join>
<multicast enabled="true"/>
<kubernetes enabled="false"/>
</join>
</network>
</hazelcast>server.xml
<httpSessionCache libraryRef="jCacheVendorLib"
uri="file:${server.config.dir}hazelcast-config.xml" />
<library id="jCacheVendorLib">
<file name="${shared.config.dir}/lib/global/hazelcast-3.12.6.jar" />
</library>这是我所做的:
我有一个使用liberty的docker镜像,在liberty配置中,我将以下配置设置为使用hazelcast:
<server>
<featureManager>
...
<feature>sessionCache-1.0</feature>
...
</featureManager>
...
<httpSessionCache libraryRef="jCacheVendorLib"
uri="file:${server.config.dir}hazelcast-config.xml" />
<library id="jCacheVendorLib">
<file name="${shared.config.dir}/lib/global/hazelcast-3.12.6.jar" />
</library>
...
</server>然后在hazelcast-config.xml中设置配置。我只在设置kubernetes=true和multicast=false时出现错误。如果我离开kubernetes = false,多播= true在我本地的kubernetes上工作得很好,但是hazelcast在云上部署时找不到其他pod(看起来ips在不同的网络上)
<hazelcast xmlns="http://www.hazelcast.com/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.hazelcast.com/schema/config
https://hazelcast.com/schema/config/hazelcast-config-3.12.xsd">
<group>
<name>cluster</name>
</group>
<network>
<join>
<multicast enabled="true"/>
<kubernetes enabled="false"/>
</join>
</network>
</hazelcast>我还运行了RBAC yaml。
并运行以下yaml命令进行部署:
apiVersion: apps/v1
kind: Deployment
metadata:
name: employee-service
labels:
app: employee-service
spec:
replicas: 3
selector:
matchLabels:
app: employee-service
template:
metadata:
labels:
app: employee-service
spec:
containers:
- name: myapp
image: myapp
ports:
- name: http
containerPort: 8080
- name: multicast
containerPort: 5701
------------------------------
apiVersion: v1
kind: Service
metadata:
name: service
spec:
type: NodePort
selector:
app: employee-service
ports:
- protocol: TCP
port: 9080
targetPort: 9080
nodePort: 31234发布于 2021-02-16 15:28:32
如果您使用Hazelcast Kubernetes插件进行发现,请确保您使用configured RBAC,例如使用以下命令。
kubectl apply -f https://raw.githubusercontent.com/hazelcast/hazelcast-kubernetes/master/rbac.yaml还请确保default parameters为您工作(您在相同的名称空间中运行Hazelcast,等等)。
如果还不能解决问题,请分享完整的StackTrace日志。
https://stackoverflow.com/questions/66213143
复制相似问题