首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有可用的Hazelcast instance"HazelcastCachingProvider.HAZELCAST_CONFIG_LOCATION“

没有可用的Hazelcast instance"HazelcastCachingProvider.HAZELCAST_CONFIG_LOCATION“
EN

Stack Overflow用户
提问于 2021-02-16 02:03:47
回答 1查看 83关注 0票数 0

任何关于这个错误的想法:

没有可用的Hazelcast实例。请通过"HazelcastCachingProvider.HAZELCAST_CONFIG_LOCATION“指定您的哈兹卡斯特配置文件路径

在本地kubernetes中使用此cfg工作得很好,但当我设置Kubernetes = true并将多播设置为false时,总是得到此错误。我正尝试在IBMCloud Kubernetes中使用它来实现自由。

代码语言:javascript
复制
    <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

代码语言:javascript
复制
<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:

代码语言:javascript
复制
    <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在不同的网络上)

代码语言:javascript
复制
    <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命令进行部署:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2021-02-16 15:28:32

如果您使用Hazelcast Kubernetes插件进行发现,请确保您使用configured RBAC,例如使用以下命令。

代码语言:javascript
复制
kubectl apply -f https://raw.githubusercontent.com/hazelcast/hazelcast-kubernetes/master/rbac.yaml

还请确保default parameters为您工作(您在相同的名称空间中运行Hazelcast,等等)。

如果还不能解决问题,请分享完整的StackTrace日志。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66213143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档