Infinispan - 启动时无法使用 helm 模板创建多个缓存

问题描述 投票:0回答:1

我想使用 helm 创建多个缓存,我的 yaml 如下

deploy:
  infinispan:
    cacheContainer:
      distributedCache:
          - name: "mycache"
            mode: "SYNC"
            owners: "2"
            segments: "256"
            capacityFactor: "1.0"
            statistics: "false"
            encoding:
              mediaType: "application/x-protostream"
            expiration:
              lifespan: "3000"
              maxIdle: "1001"
            memory:
              maxCount: "1000000"
              whenFull: "REMOVE"
            partitionHandling:
              whenSplit: "ALLOW_READ_WRITES"
              mergePolicy: "PREFERRED_NON_NULL"
          - name: "mycache1"
            mode: "SYNC"
            owners: "2"
            segments: "256"
            capacityFactor: "1.0"
            statistics: "false"
            encoding:
              mediaType: "application/x-protostream"
            expiration:
              lifespan: "3000"
              maxIdle: "1001"
            memory:
              maxCount: "1000000"
              whenFull: "REMOVE"
            partitionHandling:
              whenSplit: "ALLOW_READ_WRITES"
              mergePolicy: "PREFERRED_NON_NULL"

当我安装头盔时出现以下错误

 Red Hat Data Grid Server failed to start org.infinispan.commons.configuration.io.ConfigurationReaderException: Missing required attribute(s): name[86,1]

我不知道是否可以创建多个缓存。我已遵循以下文档https://access.redhat.com/documentation/en-us/red_hat_data_grid/8.3/html/building_and_deploying_data_grid_clusters_with_helm/configuring-servers

感谢您的帮助。

亚历克西斯

kubernetes datagrid infinispan
1个回答
1
投票

是的,可以定义多个缓存。您必须使用以下格式:

deploy:
  infinispan:
    cacheContainer:
      <1st-cache-name>:
        <cache-type>:
          <cache-definition>:
            ...
      <2nd-cache-name>:
        <cache-type>:
          <cache-definition>:

所以在你的情况下将是:

deploy:
  infinispan:
    cacheContainer:
      mycache: # mycache definition follows
        distributedCache:
          mode: "SYNC"
          owners: "2"
          segments: "256"
          capacityFactor: "1.0"
          statistics: "false"
          encoding:
            mediaType: "application/x-protostream"
          expiration:
            lifespan: "3000"
            maxIdle: "1001"
          memory:
            maxCount: "1000000"
            whenFull: "REMOVE"
          partitionHandling:
            whenSplit: "ALLOW_READ_WRITES"
            mergePolicy: "PREFERRED_NON_NULL"
      mycache1: # mycache1 definition follows
        distributedCache:
          mode: "SYNC"
          owners: "2"
          segments: "256"
          capacityFactor: "1.0"
          statistics: "false"
          encoding:
            mediaType: "application/x-protostream"
          expiration:
            lifespan: "3000"
            maxIdle: "1001"
          memory:
            maxCount: "1000000"
            whenFull: "REMOVE"
          partitionHandling:
            whenSplit: "ALLOW_READ_WRITES"
            mergePolicy: "PREFERRED_NON_NULL"

请参阅此处了解如何以 json/xml/yaml 格式定义多个缓存的示例。

© www.soinside.com 2019 - 2024. All rights reserved.