8.4. 为跨站点复制配置数据网格集群


将 Data Grid 集群配置为备份位置,以便它们可以通过专用的 JGroups 传输通道来复制数据。

先决条件

  • 创建包含每个备份位置的服务帐户令牌的 secret。
  • 确保所有集群都是 Data Grid 服务节点。
  • 确保 OpenShift 项目名称匹配。

    重要

    要执行跨站点复制,Data Grid Operator 需要 Data Grid 集群具有相同的名称并在匹配的命名空间中运行。

    例如,您可以在名为 xsite-cluster 的项目中,在 LON 上创建集群。位于 NYC 的集群还必须在名为 xsite-cluster 的项目中运行。

流程

  1. 为每个 Data Grid 集群创建一个 Infinispan CR。
  2. 使用 metadata.name 为每个 Data Grid 集群指定匹配名称。
  3. 使用 spec.service.sites.local.name 指定本地站点的名称。
  4. 使用 spec.service.sites.local.expose.type 设置本地站点的 expose 服务类型。
  5. 为每个 Data Grid 集群提供名称、URL 和 secret,它们充当 spec.service.sites.locations 的备份位置。

    以下是 LONNYCInfinispan CR 定义示例:

    • LON

      apiVersion: infinispan.org/v1
      kind: Infinispan
      metadata:
        name: example-infinispan
      spec:
        replicas: 3
        service:
          type: DataGrid
          sites:
            local:
              name: LON
              expose:
                type: LoadBalancer
            locations:
              - name: LON
                url: openshift://api.rhdg-lon.openshift-aws.myhost.com:6443
                secretName: lon-token
              - name: NYC
                url: openshift://api.rhdg-nyc.openshift-aws.myhost.com:6443
                secretName: nyc-token
      Copy to Clipboard Toggle word wrap
    • NYC

      apiVersion: infinispan.org/v1
      kind: Infinispan
      metadata:
        name: example-infinispan
      spec:
        replicas: 2
        service:
          type: DataGrid
          sites:
            local:
              name: NYC
              expose:
                type: LoadBalancer
            locations:
              - name: NYC
                url: openshift://api.rhdg-nyc.openshift-aws.myhost.com:6443
                secretName: nyc-token
              - name: LON
                url: openshift://api.rhdg-lon.openshift-aws.myhost.com:6443
                secretName: lon-token
      Copy to Clipboard Toggle word wrap
  6. 为跨站点复制调整日志记录级别,如下所示:

    ...
      logging:
        categories:
          org.jgroups.protocols.TCP: error
          org.jgroups.protocols.relay.RELAY2: fatal
    Copy to Clipboard Toggle word wrap

    上述配置减少了 JGroups TCP 和 RELAY2 协议的日志,以减少有关集群备份操作的大量消息,这可能会导致大量使用容器存储的日志文件。

  7. 使用任何其他 Data Grid 服务资源配置节点。
  8. 应用 Infinispan CR。
  9. 检查节点日志以验证 Data Grid 集群是否形成跨站点视图,例如:

    $ oc logs example-infinispan-0 | grep x-site
    
    INFO  [org.infinispan.XSITE] (jgroups-5,example-infinispan-0-<id>) ISPN000439: Received new x-site view: [NYC]
    INFO  [org.infinispan.XSITE] (jgroups-7,example-infinispan-0-<id>) ISPN000439: Received new x-site view: [NYC, LON]
    Copy to Clipboard Toggle word wrap

后续步骤

如果您的集群有一个跨站点视图,您可以开始向缓存添加备份位置。

8.4.1. 跨站点复制资源

spec:
  ...
  service:
    type: DataGrid 
1

    sites:
      local:
        name: LON 
2

        expose:
          type: LoadBalancer 
3

      locations: 
4

      - name: LON 
5

        url: openshift://api.site-a.devcluster.openshift.com:6443 
6

        secretName: lon-token 
7

      - name: NYC
        url: openshift://api.site-b.devcluster.openshift.com:6443
        secretName: nyc-token
  logging:
    categories:
      org.jgroups.protocols.TCP: error 
8

      org.jgroups.protocols.relay.RELAY2: fatal 
9
Copy to Clipboard Toggle word wrap
1
指定数据网格服务。Data Grid 仅支持通过 Data Grid 服务集群进行跨站点复制。
2
为 Data Grid 集群命名本地站点。
3
指定 LoadBalancer 作为处理备份位置间通信的服务。
4
为所有备份位置提供连接信息。
5
指定与 spec.service.sites.local.name 匹配的备份位置。
6
指定备份位置的 OpenShift API 的 URL。
7
指定包含备份站点的服务帐户令牌的 secret。
8
记录 JGroups TCP 协议的错误消息。
9
记录 JGroups RELAY2 协议的致命消息。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat