Red Hat Data Grid 7.3 发行注记


Red Hat Data Grid 7.3

Data Grid 的发行信息

Red Hat Customer Content Services

摘要

Red Hat Data Grid 是一个高性能分布式内存数据存储。
这些发行注记为 Data Grid 7.3.x 提供累积发行信息。您可以在每个 Data Grid 7.3 版本中找到所有功能和增强功能,找到有关当前已知问题和解决问题的信息,查看红帽支持的配置,以及 Data Grid 7.3 中的组件版本。

部分 I. Data Grid 7.3 中的新功能

第 1 章 7.3.11 中的更新和增强功能

1.1. Data Grid 7.3.11 安全更新

Data Grid 7.3.11 提供了解决 CVE 的安全漏洞。您必须尽快将任何 Data Grid 7.3 部署升级到 7.3.11 版本。如需更多信息,请参阅与此发行版本 RHSA-2023:6286 相关的公告。

红帽建议尽快将任何部署从 7.3.x 升级到最新的 Data Grid 8 版本。Data Grid 团队定期修补安全漏洞,并主动修复软件的最新版本。

请参阅最新的 Data Grid 文档: Data Grid 产品文档

有关 Data Grid 版本生命周期和支持详情的更多信息,请参阅 Data Grid 产品更新和支持政策

第 2 章 7.3.10 中的更新和增强功能

2.1. Data Grid 7.3.10 安全更新

Data Grid 7.3.10 提供了解决 CVE 的安全增强。您必须尽快将任何 Data Grid 7.3 部署升级到 7.3.10 版本。如需更多信息,请参阅与本发行版本 RHSA-2023:1303 相关的公告。

红帽建议尽快将任何部署从 7.3.x 升级到最新的 Data Grid 8 版本。Data Grid 团队定期修补安全漏洞,并主动修复软件的最新版本。

请参阅最新的 Data Grid 文档: Data Grid 产品文档

有关 Data Grid 版本生命周期和支持详情的更多信息,请参阅 Data Grid 产品更新和支持政策

第 3 章 7.3.9 中的更新和增强功能

3.1. Log4j 版本 1.x 已删除

Data Grid 7.3.9 删除 Log4j 版本 1.x 组件,以解决关键安全漏洞以及其他中等严重性的 CVE。您必须尽快将任何 Data Grid 7.3 部署升级到 7.3.9 版本。

任何依赖 Log4j 版本 1.x 功能的自定义组件(如缓存加载程序或服务器任务实现)都无法正常工作,因为 Data Grid 7.3.9 并不附带 Log4j 版本 1.x。

红帽建议尽快将任何部署从 7.3.x 升级到最新的 Data Grid 8 版本。Data Grid 团队定期修补安全漏洞,并主动修复软件的最新版本。

请参阅最新的 Data Grid 文档: Data Grid 产品文档

有关 Data Grid 版本生命周期和支持详情的更多信息,请参阅 Data Grid 产品更新和支持政策

Data Grid Server 升级到 EAP 7.3.10,它提供性能改进,包括几个 CVE 修复来提高安全性。

重要

当修补 Data Grid 服务器安装到 7.3.9 时,补丁的问题会导致在启动时出现错误。应用补丁后,您必须手动编辑配置。

具体步骤请参阅 使用 7.3.8 和 7.3.9 Patch 解决错误

3.3. JBoss marshalling upgraded

Data Grid 7.3.9 将 JBoss marshalling 升级到 2.0.12.Final。

第 4 章 7.3.8 中的更新和增强功能

Data Grid Server 升级到 EAP 7.3.4,它提供性能改进,包括几个 CVE 修复来提高安全性。

重要

当修补 Data Grid 服务器安装到 7.3.8 时,补丁问题会在启动时出现错误。应用补丁后,您必须手动编辑配置。

具体步骤请参阅 使用 7.3.8 和 7.3.9 Patch 解决错误

第 5 章 7.3.7 中的更新和增强功能

Data Grid Server 升级到 EAP 7.2.9,它提供性能改进,包括几个 CVE 修复来提高安全性。

5.2. 滚动升级性能

当对 Data Grid 集群进行滚动升级时,目标集群可以更有效地从源集群检索数据。

第 6 章 7.3.6 中的更新和增强功能

Data Grid 服务器升级至 EAP 7.2.7,它提供性能改进,包括几个 CVE 修复来提高安全性。

6.2. Spring 版本升级

此 Data Grid 升级到 Spring 版本,如下所示:

  • Spring Boot 升级至 2.2.5
  • Spring Session 升级到 2.2.2

6.3. 启动和停止 Red Hat Data Grid 端点

Red Hat Data Grid 命令行界面(CLI)提供以下命令来启动和停止 Red Hat Data Grid 端点连接器:

  • :stop-connector
  • :start-connector

如需更多信息,请参阅 启动和停止 Red Hat Data Grid 端点

6.4. hot Rod Access logs 包含任务名称

当通过远程 Hot Rod 客户端在 Red Hat Data Grid 服务器上执行任务时,任务名称现在包含在 Hot Rod 访问日志中。

有关 Hot Rod 访问日志 的更多信息,请参阅访问日志。

6.5. 对跨站点复制性能的多个参与

此发行版本包括对跨站点复制性能的一些改进。Red Hat Data Grid 现在:

  • 并行处理异步复制请求。
  • 使用线程池来处理异步复制请求。
  • 将操作发送到跨站点备份数据,阻止线程。

第 7 章 7.3.5 中的更新和增强功能

7.1. 集群最大过期时间

这个版本改进了集群的 max-idle 过期时间,以防止使用集群缓存模式数据丢失。

在本发行版本中,当客户端读取具有最大 空闲过期值的条目时,Red Hat Data Grid 会将 touch 命令发送到所有所有者。这样可确保条目在集群中有相同的相对访问时间。

请参阅 最大空闲过期

7.2. 套接字超时例外提供连接详情

在本发行版本中,当 Hot Rod 客户端连接超时时,Red Hat Data Grid 会在异常信息中提供有关连接的更多详情,如下例所示:

本发行版本前的套接字超时例外

org.infinispan.client.hotrod.exceptions.TransportException::
java.net.SocketTimeoutException: ContainsKeyOperation{ExpirationCache,
key=[B0x033E0131, flags=0} timed out after 60000 ms
Copy to Clipboard Toggle word wrap

在本发行版本中,套接字超时异常

org.infinispan.client.hotrod.exceptions.TransportException::
java.net.SocketTimeoutException: ContainsKeyOperation{ExpirationCache,
key=[B0x033E0131, flags=0, connection=127.0.0.1/127.0.0.1:11222} timed out
after 60000 ms
Copy to Clipboard Toggle word wrap

7.3. 热客户端连接池配置

在本发行版本中,Data Grid Hot Rod C++ 客户端允许您在连接池耗尽时配置恢复策略。

  • configurationBuilder.connectionPool ().exhaustedAction (WAIT) 无限期等待连接返回并可用。
  • configurationBuilder.connectionPool ().exhaustedAction (EXCEPTION) 抛出 NoSuchElementException

7.4. Data Grid 文档

Data Grid 服务器文档已更新,以描述了如何使用 Prometheus 收集 JMX 统计信息。

请参阅 向 Prometheus 公开 JMX Beans

Data Grid 用户指南已更新,以阐明跨站点复制的容量因素配置。

请参阅密钥所有权中的" Capacity Factors "。

第 8 章 7.3.4 中的更新和增强功能

Data Grid 服务器已升级到 EAP 7.2.5,它提供性能改进,包括几个 CVE 修复来提高安全性。

8.2. Spring Boot 版本升级

此 Data Grid 升级到 Spring Boot 2.2.0 发行版本,它使用 Spring 5 依赖项,如下所示:

  • Spring 5 升级到 5.2.0
  • Spring Session 升级到 2.2.0
  • Spring Security 升级至 5.2.0

8.3. 使用集群缓存的 Primary Owners 过期

只有在主所有者决定条目满足过期条件时,Data Grid 才会使来自集群缓存的条目过期。这个更改通过减少重复的过期命令来提高性能。

8.4. 跨站点复制中的过期命令

当过期条目时,Red Hat Data Grid 会复制一个在集群间删除过期条目的命令。在这个版本中,Red Hat Data Grid 不再在站点间复制此命令,这提高了性能。

8.5. Red Hat Data Grid CLI Session Expiration

添加了相关文档,记录 CLI 会话在闲置超时时间为 6 分钟后过期的事实。如需更多信息,请参阅 命令行界面(CLI) 部分。

第 9 章 7.3.3 中的更新和增强功能

Data Grid 服务器升级至 EAP 7.2.4,它提供性能改进,包括几个 CVE 修复来提高安全性。

9.2. Amazon Web Services (AWS)的原生 S3 Ping

对 AWS S3 API 的更改需要 Data Grid 使用 NATIVE_S3_PING 而不是 JGroups S3_PING 协议。

JGroups S3_PING 不再可用于 AWS 上的服务器发现。您应该将任何现有的 S3_PING 配置迁移到 NATIVE_S3_PING

如需更多信息,请参阅以下:

9.3. JGroups 传输堆栈中流控制的更改

此发行版本包括以库模式提高 Data Grid 集群的传输层性能的更改:

  • Data Grid 将 JGroups Unicast Flow Control (UFC)添加到默认 TCP 传输堆栈。UFC 可防止节点在接收节点的 JGroups 线程池达到最大容量时向其他节点发送异步消息。发生这种情况时,接收节点开始丢弃消息,但发送节点会持续重新发送它们。
  • UFCMFCmax_credits 属性的值从 JGroups 默认值 2m 增加到 3m。此属性设置一个节点可以在不确认接收节点的情况下向另一个节点发送的最大字节数。
注意
  • UFC 已包含在库模式的默认 UDP 传输堆栈中。
  • 在 Server Mode 中,Data Grid 使用非阻塞流控制(UFC_NBMFC_NB)作为默认值。

9.4. REST 端点授权

Data Grid REST 端点现在允许访问为授权配置的缓存。

此增强解决了此 KCS 解决方案 中介绍的问题。

9.5. ProtoStream 库更新至 4.2.4.Final

Data Grid 中的 protostream 库组件更新至 4.2.4.Final。

第 10 章 7.3.2 中的更新和增强功能

现在,当将跨站点 复制功能与异步复制策略一起使用时,Data Grid 会应用脱机 配置。

10.2. 通过 JMX 异步跨站点复制统计信息

Data Grid 为异步跨站点复制添加以下统计信息:

  • AsyncXSiteAcksCount
  • AverageAsyncXSiteReplicationTime
  • MaximumAsyncXSiteReplicationTime
  • MinimumAsyncXSiteReplicationTime

如需更多信息,请参阅 JMX 组件 文档。

服务器模式中的 Data Grid 7.3.2 的核心模块依赖项与 EAP 7.2.1 一致。

10.4. 跳过 Listener 通知

Hot Rod 客户端现在包含 SKIP_LISTENER_NOTIFICATION 标志,以便在会话 ID 更改时客户端监听程序不会收到通知。

这个标志解决了使用 spring-session 与 Spring 5 集成时的问题。如果您在 Spring 5 中使用 spring-session,您应该同时将 Data Grid 服务器和 Hot Rod 客户端升级到 7.3.2。

同样,您必须将 Data Grid 服务器和 Hot Rod 客户端升级到 7.3.2 或更高版本,然后才能设置 SKIP_LISTENER_NOTIFICATION 标志。

如需更多信息,请参阅 Data Grid 用户指南中的跳过通知

第 11 章 7.3.1 中的更新和增强功能

11.1. Java 11

Data Grid 现在支持 Java 11。请参阅 https://access.redhat.com/articles/2435931 支持的配置。

注意

OpenShift 版本 7.3.1 的数据科学家使用 Java 8 构建。OpenShift 的数据网格支持版本 7.3.2.For 中的 Java 11,如需更多信息,请参阅支持的配置页面。

11.2. 用于 Microsoft Windows 的 OpenJDK 8

Data Grid 现在支持 Windows 上的 OpenJDK 8。请参阅 https://access.redhat.com/articles/2435931 支持的配置。

11.3. JGroups 更新至 4.0.18.Final

Data Grid 现在使用 JGroups 版本 4.0.18.Final。请参阅组件详情,请访问 https://access.redhat.com/articles/488833

11.4. JGroups DNS_PING

Data Grid 现在可以使用 JGroups DNS_PING 协议进行集群发现。

注意

OpenShift 镜像的 Data Grid 使用 openshift.DNS_PING,它提供与 JGroups DNS_PING 相同的功能。默认情况下,您无法使用 OpenShift 镜像的 Data Grid 启用 JGroups DNS_PING。但是,您可以使用 JGroups DNS_PING 的自定义配置从 Data Grid 为 OpenShift 镜像构建自定义镜像。如果您在自定义 OpenShift 应用程序中嵌入 Data Grid,也可以使用 JGroups DNS_PING

有关更多信息,请参阅 JGroups 子系统配置

此发行版本添加了 LOGGING_CATEGORIES 环境变量,用于调整 Data Grid 捕获日志消息的类别和级别。如需更多信息 请参阅监控和日志记录。

11.6. 文件名分析器

Data Grid 现在提供默认的 文件名 分析器。如需更多信息,请参阅 默认分析器

第 12 章 7.3.0 的新功能和增强功能

12.1. 用于 OpenShift 贡献的数据科学家

此发行版本包括一些 OpenShift Data Grid 的改进,包括:

  • 对缓存服务(cache-service)的完全支持。
  • Data Grid 服务(datagrid-service),它为 OpenShift 提供完整的 Data Grid 发行版本。
  • OpenShift 镜像的 Data Grid 的改进。
  • 通过与 Prometheus 集成来监控功能。
  • 库模式支持,允许您在 OpenShift 上运行的容器化应用程序中嵌入 Data Grid。适用限制。如需更多信息,请参阅 OpenShift 的 Data Grid

    注意

    红帽不推荐在自定义服务器应用程序中嵌入数据仓库。如果您希望 Data Grid 处理来自客户端应用程序的缓存请求,请为 OpenShift 部署 Data Grid。

访问 Data Grid for OpenShift 文档,了解更多信息并开始使用。

12.2. 框架集成

此 Data Grid 发行版本改进了与已知的企业 Java 框架(如 Spring 和 Hibernate)的集成。

12.2.1. Spring 增强

此发行版本为 Data Grid 与 Spring Framework 集成增加了几个改进:

注意

此 Data Grid 发行版本支持 Spring Framework 和 Spring Boot 的特定版本。请参阅 https://access.redhat.com/articles/2435931 支持的配置。

12.2.1.1. 同步获取操作

Data Grid 实施 SPR-9254,以便 get () 方法使用多线程机制返回键值。

如需更多信息,请参阅 org.springframework.cache 界面中 获取 的描述。

12.2.1.2. 异步操作和超时配置

现在,您可以在使用 Data Grid 作为 Spring 缓存供应商时,设置等待读取和写入操作的最大时间。超时允许方法调用异步发生。

使用以下 put () 方法示例来考虑超时前和后的不同:

写超时前

public void put(Object key, Object value, long lifespan, TimeUnit unit) {
      this.cacheImplementation.put(key, value != null ? value : NullValue.NULL, lifespan, unit);
}
Copy to Clipboard Toggle word wrap

写超时后

public void put(final Object key, final Object value) {
      this.nativeCache.put(key, value);
      try {
         if (writeTimeout > 0)
            this.nativeCache.putAsync(key, value != null ? value : NullValue.NULL).get(writeTimeout, TimeUnit.MILLISECONDS);
         else
            this.nativeCache.put(key, value != null ? value : NullValue.NULL);
      } catch (InterruptedException e) {
         Thread.currentThread().interrupt();
         throw new CacheException(e);
      } catch (ExecutionException | TimeoutException e) {
         throw new CacheException(e);
      }
   }
Copy to Clipboard Toggle word wrap

如果您为写入操作配置超时,则调用 putAsync,这是一个"fire-and-forget"调用,不会阻止其他写操作。

如果您没有配置超时,则会调用同步 放置,这会阻止其他写入。

使用 infinispan.spring.operation.read.timeoutinfinispan.spring.operation.write.timeout 设置超时配置。阅读文档中的 配置超时以了解如何。

12.2.1.3. Spring 应用程序的集中式配置属性

如果您在远程客户端模式中将 Data Grid 用作 Spring Cache Provider,您可以在 classpath 的 hotrod-client.properties 中设置配置属性。然后,您的应用程序可以使用该配置创建 RemoteCacheManager

有关可用配置属性的信息,请参阅 org.infinispan.client.hotrod.configuration 软件包描述

12.2.1.4. 检索缓存名称的功能

RemoteCacheManager 类现在包含一个 getCacheNames () 方法,它将缓存名称返回为字符串的 JSON 数组,如 ["cache1", "cache2"]。这个方法包含在 org.springframework.cache.CacheManager 实现中,以便在将 Data Grid 用作 Sping 缓存提供程序时查找定义的缓存名称。

如需更多信息,请参阅 RemoteCacheManager 的 Java 文档。

12.2.1.5. Spring Boot Starter

Data Grid 包括一个 Spring Boot 启动程序,可帮助您快速启动并运行。请参阅 Data Grid Spring Boot Starter

12.2.2. Hibernate Second-level (L2)缓存

Data Grid 与 Hibernate 作为(L2)缓存供应商无缝集成,以提高应用程序的持久层的性能。

Hibernate 为 Java 提供 Object/Relational Mapping (ORM)功能,它是完全兼容的 JPA (Java Persistence API)持久性提供程序。Hibernate 使用第一级(L1)缓存,其中缓存中的对象绑定到会话。作为 L2 缓存提供程序,Data Grid 充当所有会话中对象的全局缓存。

您可以将 Data Grid 配置为 L2 缓存:

  • JPA: persistence.xml
  • spring: application.properties

有关启用 L2 缓存以及不同部署场景的信息,请参阅文档中的 JPA/Hibernate L2 Cache

12.2.3. 以嵌入式模式与红帽 SSO 集成

此发行版本支持使用 Red Hat SSO 来保护 库(embedded) 模式中对 Data Grid 的访问。

如需更多信息,请参阅 secure-embedded-cache Quickstart,并部署并运行演示了与红帽 SSO 集成的示例应用程序。

12.3. hot Rod Client boostments

12.3.1. 支持交易

Java、C++ 和 C114 Hot Rod 客户端现在可以启动并参与事务。

Java Hot Rod 客户端支持 FULL_XANON_XA 事务模式。C++ 和 C114 Hot Rod 客户端只支持 NON_XA 事务模式。

如需更多信息,请参阅 Hot Rod Transactions

12.3.2. JMX 中的 Java Hot Rod 客户端统计信息

ServerStatistics 接口现在通过 JMX 公开 Java Hot Rod 客户端的统计信息。

您必须在 Hot Rod 客户端实现中启用 JMX 统计信息,如下例所示:

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.addServer()
        	.host("127.0.0.1")
        	.port(11222)
        	.statistics()
        	.enable()
        	.jmxEnable();
Copy to Clipboard Toggle word wrap
  • enabled () 允许您收集客户端统计信息。
  • jmxEnabled () 通过 JMX 公开统计信息。

如需更多信息,请参阅 Java 文档中的 ServerStatistics

12.3.3. Java Hot Rod 客户端配置增强

此发行版本使用 hotrod-client.properties 文件改进了 Java Hot Rod 客户端的配置。您可以配置最接近的缓存设置、跨站点(xsite)属性、控制身份验证和加密等设置。

如需更多信息,请参阅 Hot Rod 客户端配置概述

12.3.4. 新的 Java Hot Rod 客户端实施基于 Netty

Hot Rod Java 客户端使用 Netty 框架构建,从而提高了通过同一连接同时执行操作的性能和支持。

在以前的版本中,应用程序执行的操作是同步进行的,或委派给专用线程池。

在本发行版本中,操作异步执行,响应会在 HotRod-client-async-pool 线程池中处理。操作可以通过同一连接进行多路复用,这需要较少的连接。

注意

自定义 marshallers 不得依赖于调用它们的任何特定线程进行 unmarshallers。

如需更多信息,请参阅 Java 文档:

12.3.5. JSON 对象的 JavaScript Hot Rod 客户端支持

Node.js Hot Rod 客户端添加了对原生 JSON 对象的支持,作为键和值。在以前的版本中,客户端只支持 String 键和值。

要使用原生 JSON 对象,您必须配置客户端,如下所示:

var infinispan = require('infinispan');
var connected = infinispan.client(
    {port: 11222, host: '127.0.0.1'}
    , {
        dataFormat : {
            keyType: 'application/json',
            valueType: 'application/json'
        }
    }
);
connected.then(function (client) {
  var clientPut = client.put({k: 'key'}, {v: 'value'});
  var clientGet = clientPut.then(
      function() { return client.get({k: 'key'}); });
  var showGet = clientGet.then(
      function(value) { console.log("get({k: 'key'})=" + JSON.stringify(value)); });
  return showGet.finally(
      function() { return client.disconnect(); });
}).catch(function(error) {
  console.log("Got error: " + error.message);
});
Copy to Clipboard Toggle word wrap

您可以单独为键和值配置数据类型。例如,您可以将键配置为 String,并将值配置为 JSON

注意

脚本目前不支持原生 JSON 对象。

12.3.6. 检索缓存名称 Through Hot Rod

此发行版本包括 getCacheNames () 方法,它返回以声明性或编程方式定义的缓存名称集合,以及通过 RemoteCacheManager 在运行时创建的缓存。

Hot Rod 协议现在还包含 @@cache@names admin 任务,它将缓存名称返回为字符串的 JSON 数组,如 ["cache1", "cache2"]。

如需更多信息,请参阅:

12.4. Persistence 的改进

12.4.1. Write-Behind Cache Stores 的容错

Data Grid 现在可让您配置 write-behind 缓存存储,以便在 write-behind 操作失败时,不允许对缓存进行额外的操作。另外,无法写入缓存存储的修改会被排队,直到底层缓存存储可用为止。

您可以使用 connection-attempts、connect-interval 和 fail- silently 声明性配置容错。

要以编程方式配置容错,请使用:

  • PersistenceConfiguration 类中的 connectionAttempts ()connectionInterval () 方法。
  • AsyncStoreConfiguration 类中的 failSilently () 方法。

如需更多信息,请参阅文档:

12.5. 数据互操作性

Data Grid 提供转换编码功能,可在适合不同端点的格式间转换数据。例如,您可以通过 Hot Rod 端点编写 ProtoBuf 编码的数据,然后通过 REST 端点将其检索为 JSON 文档。

注意

兼容性模式现已弃用,并将从 Data Grid 中删除。您应该改为使用协议互操作性功能。

12.6. 默认分析器

Data Grid 包括一组默认分析器,这些分析程序将输入数据转换为可索引和查询的一个或多个术语。

如需更多信息,请参阅 分析

12.7. 指标增强

此发行版本通过 JMX 公开新的操作和指标:

ClusteredLockManager 组件
  • forceRelease 强制锁定被释放。
  • 如果定义了锁定,则 定义 返回 true
  • 如果存在锁定并被获取,则 isLocked 返回 true
  • 从集群中删除 删除锁定。必须重新创建锁定才能再次访问。
传递 组件
  • passivateAll 将所有条目传递给 CacheStore
CacheStore 组件
  • NumberOfPersistedEntries 返回当前保留的条目数,不包括过期的条目。

如需更多信息,请参阅 jmxComponents

12.8. 锁定流

LockedStream 接口中的 invokeAll () 方法现在为为相应键保存锁的条目执行代码提供了一种方式,允许您获取锁定并可以保证值的状态。

如需更多信息,请参阅 org.infinispan.LockedStream

12.9. 配置的改进

12.9.1. 配置通配符

现在,您可以在配置模板名称中使用通配符,以便 Data Grid 将模板应用到任何匹配的缓存。

如需更多信息,请参阅 缓存配置通配符

12.9.2. 不可变配置

现在,您可以创建不可变的配置存储供应商以防止创建和删除缓存。

在以声明性方式配置 Data Grid 时,请使用 immutable-configuration-storage 参数,或者在全局状态中使用 IMMUTABLE 配置存储。

12.10. 提高了缓存操作的安全性

AdvancedCache 接口现在包含一个 带有Subject () 方法,它在缓存上启用授权时通过指定主题执行操作。

有关 AdvancedCache 接口,请参阅 Javadocs。

12.11. HTTP/2 支持

Data Grid 现在支持使用 REST 端点的 HTTP/2。

第 13 章 Data Grid 7.3 中的技术预览

重要

技术预览功能或功能不被红帽产品服务级别协议(SLA)支持,且可能无法完成。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。如需更多信息,请参阅红帽技术预览功能支持范围

13.1. Red Hat OpenShift 上的跨站点复制

Red Hat Data Grid for OpenShift 为您提供了跨站点复制功能,以便在运行不同数据中心的集群间备份数据。

支持的架构和功能

以下构架目前在 Red Hat OpenShift 上支持跨站点复制:

  • Data Grid 使用 datagrid-service 服务模板部署为 StatefulSet
  • 单 master 网站。
  • 单备份网站。
  • NodePort 服务,为 Data Grid 节点公开端口,以通过 JGroups RELAY2 协议通信和执行跨站点复制。
  • 数据中心不会为不同站点中的并发修改提供任何控制。您必须配置应用程序,以根据需要处理并发或实施避免策略。
  • Data Grid JMX 组件用于监控和管理。请参阅 JMX 组件
当前不支持的功能和功能

Data Grid 目前不支持在 Red Hat OpenShift 上具有跨站点复制的以下功能和功能:

  • 模式复制。
  • 数据索引.
  • 动态缓存创建。
资源和文档

standalone.xml 用于跨站点复制,为 OpenShift 的 Red Hat Data Grid 提供了一个推荐的配置。

跨站点复制: GitHub 上的 Red Hat Data Grid for OpenShift 提供了文档和快速入门指南。

跨站点复制 文档提供了其他详细信息,包括将状态从一个站点传输到另一个站点的步骤。

13.2. 使用 C++ 和 C114 客户端进行远程管理

C++ 和 C114 Hot Rod 客户端现在提供了一个 RemoteCacheManagerAdmin 接口的实现,可让您远程执行管理操作。

13.3. 具有 C++ 和 C114 客户端的集群计数

C++ 和 C114 Hot Rod 客户端现在为远程使用集群计数器提供功能。

13.4. 管理控制台功能

Data Grid 管理控制台现在可让您配置和管理端点配置,并为操作数据提供以下功能:

  • 查询数据
  • 创建和删除缓存条目
  • 删除缓存条目

另外,管理控制台包含基本的 protobuf 模式编辑器。

第 14 章 Data Grid 7.3 中已弃用的功能和功能

此 Data Grid 发行版本弃用了各种功能和功能组件。

弃用的功能在 Data Grid 7.x 生命周期结束前继续被支持。弃用的功能将在以后的主发行版本中被支持,且不建议在新部署中使用。

注意

在编写时,此信息是最新的。您可以使用 JDG-1978 查看下一个主发行版本的所有已弃用的代码。

hot Rod v1.x
下一个主发行版本中不支持热 Rod 协议版本 1.x。
RocksDB 替换 LevelDB 缓存存储
在本发行版本中,levelDB 缓存存储已弃用,并替换为 RocksDB 缓存存储。如果您的数据存储在 LevelDB 缓存存储中,则 RocksDB 缓存存储会在第一次运行时将其转换为基于 SST 的格式。

RocksDB 提供可靠的性能和可靠性,特别是在高并发场景中。在文档中了解更多有关 RocksDB 缓存存储 的信息。

兼容性模式

兼容性模式已弃用,并将在下一个主发行版本中删除。要从多个端点访问缓存,您应该以二进制格式存储数据,并为键和值配置 MediaType。如需更多信息,请参阅以下主题:

  • 协议互操作性
  • MediaType

    如果要将数据存储为 unmarshalled 对象,您应该配置键和值来存储对象内容,如下所示:

    <encoding>
       <key media-type="application/x-java-object"/>
       <value media-type="application/x-java-object"/>
    </encoding>
    Copy to Clipboard Toggle word wrap
集群的可执行文件替换 Distributed Executor API

Data Grid 使用 Clustered Executor 替换 Distributed Executor,这是在集群中执行任意代码的工具。请参阅:

RemoteCache getBulk()
getBulk () 方法在 RemoteCache 接口中已被弃用。请参阅: org.infinispan.client.hotrod.RemoteCache
Ggroal PooledConnectionFactory 替换 c3p0/HikariCP JDBC PooledConnectionFactory
JDBC PooledConnectionFactory 提供您使用 c3p0.propertieshikari.properties 配置的连接池。在下一个主发行版本中,Data Grid 提供了一个 PooledConnectionFactory,它只使用 Ggroal 兼容属性文件进行配置。请参阅 Ggroal 项目
CLI Loader
Infinispan-persistence-cli 现已弃用,并将在下一个主发行版本中删除。
弃用的类
  • org.infinispan.lifecycle.AbstractModuleLifecycle
  • org.infinispan.lifecycle.Lifecycle
eager Near 缓存 Residual Code
在下一个主发行版本中,用于 eager 最接近的缓存功能的恢复代码工件将删除。

部分 II. 支持的配置和组件版本

第 15 章 Data Grid 7.3 支持的配置

红帽支持 Red Hat Data Grid 7.3 的特定硬件和软件组合,地址为 https://access.redhat.com/articles/2435931

第 16 章 Data Grid 组件版本

红帽客户门户网站 上提供了 Red Hat Data Grid 7.3 的组件详情。

您还可以从项目中找到 Data Grid 组件版本,如下所示:

  1. Product Downloads 页面下载包含 Data Grid 源 jboss-datagrid-${version}-sources.zip 的存档。
  2. 将存档提取到您的文件系统中。
  3. 打开终端窗口,再更改到包含 pom.xml 文件的顶级目录。
  4. 运行 mvn dependencies:tree 以检索依赖项的信息。

部分 III. 已知的和修复的问题

第 17 章 Data Grid 7.3 的已知问题

使用 Kerberos 身份验证时,在 Java 8 上热 Rod Java 客户端安全例外

问题: JDG-4224

描述 : 在带有 GSSAPI 安全机制的 Java 8 上使用 Hot Rod Java 客户端时,会抛出以下异常:

org.infinispan.client.hotrod.exceptions.HotRodClientException: javax.security.sasl.SaslException: ELY05123: No security layer selected but message length received
Copy to Clipboard Toggle word wrap

出现这个问题的原因是,使用 EAP 7.3 中的 Elytron 子系统进行 Kerberos 身份验证的严格要求。

临时解决方案:wildfly.sasl.relax-compliance 属性添加到 Data Grid 服务器配置中的 sasl 安全域中:

<authentication security-realm="ApplicationRealm">
  <sasl server-context-name="hotrod-service" server-name="node0" mechanisms="GSSAPI" qop="auth" strength="high medium low">
    <policy>
      <no-anonymous value="true" />
    </policy>
    <property name="wildfly.sasl.relax-compliance">true</property>
  </sasl>
</authentication>
Copy to Clipboard Toggle word wrap
内部序列化库从 JSON 转换为 Java 对象

问题: JDG-3965

描述 : 如果您试图将数据存储为 unmarshalled, Plain Old Java Objects (POJO) on Data Grid Server,然后以 JSON 格式读取和写入数据,则会出现以下情况:

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Illegal type (com.example.MyClass) to deserialize: prevented for security reasons
Copy to Clipboard Toggle word wrap

临时解决方案: 使用以下系统属性在 Data Grid Server 中指定用户类:

-Djackson.deserialization.whitelist.packages=com.example
Copy to Clipboard Toggle word wrap

指定完全限定类名称,如下所示:

-Djackson.deserialization.whitelist.packages=com.example.MyClass
Copy to Clipboard Toggle word wrap
在一些 OpenShift ConfigMap Quickstart 版本中过时的日志记录配置

问题: JDG-4024

描述: 对于版本 7.3.4、7.3.5 和 7.3.6 版本,Data Grid ConfigMap Quickstart、_customing Data Grid Service Deployments 无法按预期工作。

OpenShift 7.3.4 及更新版本的数据科学家使用更新的日志记录格式器,该格式与 ConfigMap 快速入门中的日志记录格式器不兼容。因此,无法使用快速入门启动自定义数据平面服务器镜像。

临时解决方案: 使用 7.3.7 标签进行快速入门,或使用 7.3.x 分支。

MySQL 和 PostgreSQL 缓存存储驱动程序不适用于 IBM Z 或 IBM Power 上的 OpenShift Container Platform 的 Data Grid

问题: JDG-3376

描述 : IBM Z 或 IBM Power 上的 OpenShift Container Platform 的 Data Grid 没有为 MySQL 和 PostgreSQL 缓存存储提供驱动程序。

临时解决方案: 这个问题还没有临时解决方案。

从探测到与 IBM Z 或 IBM Power 上的 OpenShift Container Platform 的 OpenShift 镜像的 Data Grid 的连接错误事件

问题: JDG-3395

描述 : IBM Z 或 IBM Power 上的 OpenShift Container Platform 的 Data Grid 包含 存活探测失败: 就绪度探测 failed: 错误消息。

临时解决方案: 忽略错误消息。它们会在镜像就绪后停止。

ClassCastException Occurs with Data Grid 命令行界面

问题: JDG-3348

描述 : 如果您在为跨站点复制配置的 Data Grid 集群中停止控制器节点,则使用 Data Grid CLI 运行 站点 命令,则会发生以下情况:

org.infinispan.remoting.responses.CacheNotFoundResponse cannot be cast to org.infinispan.remoting.responses.SuccessfulResponse
Copy to Clipboard Toggle word wrap

临时解决方案: 在运行 site 命令前,等待 Data Grid 节点从 cluster 视图中完全删除。

Red Hat Fuse 6 Data Grid 7.3 认证不因为测试失败而进行

问题: JDG-2758

描述: 由于测试失败,红帽 Fuse 6 的 Data Grid 7.3 认证无法进行。

临时解决方案: 这个问题还没有临时解决方案。

无法通过 Java 11 将 Data Grid 7.3 与 Red Hat Fuse 6 和 7 搭配使用

问题: JDG-2800

描述: Red Hat Fuse 6 和 7 与 Java 11 不兼容。因此,您不能将 Data Grid 7.3 与 Red Hat Fuse 6 和 7 一起使用 Java 11。

临时解决方案: 这个问题还没有临时解决方案。

带有 EAP 6 和 MySQL 5 的 Data Grid 7.3 可在意外行为中失败

问题: JDG-2871

描述 : 使用 EAP 6 和 MySQL 5 运行 Data Grid 可能会导致意外的行为。

临时解决方案: 这个问题还没有临时解决方案。

Data Grid 7.3 Libraries Do Not Deploy successfullyfully on EAP 6 或 Oracle WebLogic

问题: JDG-2559

描述: Data Grid 7.3 库无法在 EAP 6 或 Oracle WebLogic 上成功部署。

临时解决方案: 这个问题还没有临时解决方案。

从 Data Grid 6.6.2 中不成功滚动升级

问题: JDG-2832

描述 : 尝试执行从 Data Grid 6.6.2 到 Data Grid 7.3 的滚动升级会导致异常,数据无法成功迁移。

临时解决方案: 这个问题还没有临时解决方案。

从 JBoss Web 服务器外部化 HTTP 会话到数据中心不使用 FINE Persistence 策略

问题: JDG-2796

Description :persistenceStrategy 属性设置为 FINE 值会导致 HTTP 会话外部化意外行为。

临时解决方案:persistenceStrategy 属性设置为 COARSE 的值。

在 Red Hat Enterprise Linux 6 或 Microsoft Windows 平台上不支持 RocksDB 缓存存储

问题: JDG-2761

描述 : 目前无法在 Red Hat Enterprise Linux 6 或 Microsoft Windows 平台上使用 RocksDB 缓存存储。

临时解决方案: 这个问题还没有临时解决方案。

GLIBC_2.14 Error with RocksDB Cache Store on Red Hat Enterprise Linux (RHEL) 6

问题: JDG-2546

描述 : 在 RHEL 6 上创建 RocksDB 缓存存储时遇到以下错误: /lib64/libc.so.6: 版本 'GLIBC_2.14' not found

临时解决方案: 这个问题还没有临时解决方案。

SKIP_CACHE_LOAD Flag Has No Effect if Authentication is enabled

问题: JDG-1424

描述 : 在 Remote Client-Server 模式中,如果您在缓存存储配置中设置 SKIP_CACHE_LOAD 标志,并在 Hot Rod 客户端上启用身份验证,则所有条目都会从缓存中检索,包括被驱除的条目。

临时解决方案: 这个问题还没有临时解决方案。

Data Grid Management Console in Reload-Required State 中的 Cluster Actions Disabled

问题: JDG-1843

描述 : 如果选择在更改配置后重启集群,则管理控制台中无法使用 Data Grid 集群的操作。在这种情况下,集群处于 Reload-Required 状态。

重新载入 停止操作对于集群中的每个节点都可用。

临时解决方案: 在集群中至少载入一个节点以便在集群级别恢复操作。

从 Data Grid 管理控制台更改 Eviction 策略时发生错误

问题: JDG-1804

描述 : 如果 Data Grid 在域模式下运行,并且您可以通过管理控制台更改配置中的驱除策略,但不会重启以应用更改,则会出现错误。

临时解决方案: 在更改为驱除策略后重启服务器。

在集群间滚动升级过程中会发生间歇性数据的问题

问题: JDG-991

描述 : 在执行 Data Grid 的滚动升级时,可在源集群中的节点离线后从目标集群中删除所有迁移的数据。

临时解决方案: 这个问题还没有临时解决方案。

当 Data Grid 7.0 和 Earlier 中的持久性存储读取数据时,NullPointerException Occurs

问题: JDG-968

描述 : 如果您使用 Data Grid 7.0 及更早版本将数据存储在缓存中,然后尝试使用 Data Grid 7.1 或更高版本读取这些数据,则会出现错误,且无法读取数据。

注意

当从 Data Grid 7.1 升级到更新的版本时,这个问题不适用。

临时解决方案: 这个问题还没有临时解决方案。

第 18 章 修复的问题

18.1. 修复了 Data Grid 7.3.9

Red Hat Data Grid 7.3.9 包括以下显著的修复:

  • HotRodSourceMigrator 上的 JDG-4160 内存泄漏
  • 在启用安全管理器时,使用单个文件存储的 JDG-4550 缓存无法启动
  • jDG-4857 Initial server list switch should increment topology age
  • 添加具有大值大小的条目时,Hotot Rod 客户端中的 JDG-4956 内存泄漏
  • 在启用了统计数据的情况下,JDG-4387 Simple 缓存会导致 NullPointerException in EvictionManagerImpl
  • JDG-4767 Hot Rod 客户端集群切换也会很快发生

18.2. 修复了 Data Grid 7.3.8

Red Hat Data Grid 7.3.8 包括以下显著的修复:

18.3. 修复了 Data Grid 7.3.7

Red Hat Data Grid 7.3.7 包括以下显著的修复:

  • JDG-3700 预期行为与 EAP 7.3 中的应用外部化会话
  • 在节点离开集群 时,SingleFileStore 缓存存储可能会出现 JDG-3848 问题。
  • jDG-3818 Registered Listeners 的行为不会如预期,并导致内存不足错误。
  • jDG-3498 使用计算操作执行远程任务会导致使用驱除时错误消息。
  • jDG-3497 使用计算操作执行远程任务会导致在使用非堆存储时错误消息。

18.4. 修复了 Data Grid 7.3.6

Red Hat Data Grid 7.3.6 包括以下显著的修复:

  • JDG-2644 Data Grid 管理控制台显示集群中的第一个节点。
  • 在使用二进制存储时,JDG-3527 客户端请求可能会路由到错误的 Data Grid 服务器。
  • 从基于 JDBC 字符串的缓存中清除数据时,JDG-3522 SQL 服务器异常发生。
  • 当在部署的服务器任务中使用注解生成的 marshallers 时,JDG-3450 类问题会出现问题。
  • 用于集群传输的 JDG-3529 JGroups 子系统没有持久性 RELAY 协议的属性。

18.5. 修复了 Data Grid 7.3.5

Red Hat Data Grid 7.3.5 包括以下显著的修复:

  • JDG-3355 RpcManager:SitesView 属性为空,或者包含 XSiteRepl 成员的不完整视图。
  • JDG-3366 使用事务缓存会导致性能下降。
  • jDG-3354 最大闲置配置会导致数据在节点故障切换与集群缓存模式发生时不正确。
  • JDG-3413 Invalidation 命令从缓存中加载之前的值不必要。
  • jDG-3428 JDBC 基于字符串的缓存存储示例不正确。
  • jDG-3357 HotRod 客户端使用套接字超时为操作注册超时处理程序。
  • JDG-3309 缓存使用异步模式配置 JPA 缓存存储,对缓存条目的修改会导致 DEBUG 异常和操作从缓存存储中删除条目不会成功。
  • 使用 cluster.xml 文件启动服务器时,JDG-2532 管理控制台不会加载。
  • 在节点 加入集群时,JDG-3416 Stored 索引不会被复制。

18.6. 修复了 Data Grid 7.3.4 中

Red Hat Data Grid 7.3.4 包括以下显著的修复:

  • JDG-3200 当过期条目时,Data Grid 复制一个命令以在站点中删除过期条目。
  • jDG-3149 Deploying Data Grid for OpenShift 启用了 Prometheus 监控会导致 pod 启动失败。WFLYCTL0079WFLYLOG0078 异常被写入日志。
  • jDG-3264 FD_ALL 会向非成员发送消息,这会在日志中生成警告消息。
  • 用于集群缓存统计的 JDG-3167 JMX MBean 停止处理异常驱除类型。
  • 查询接近缓存配置时,JDG-3194 ISPN004034 消息写入日志。
  • JDG-3214 管理控制台变得无响应,如果您为缓存容器配置了授权,Data Grid 日志文件中会出现异常。
  • jDG -3324114Wrong 站点状态用于缓存 'null' 异常
  • 如果在持久性配置中启用了 preload,则 JDG-3185 缓存条目创建日期设置为 Data Grid 服务器开始日期

18.7. 修复了 Data Grid 7.3.3 中

Red Hat Data Grid 7.3.3 包括以下显著的修复:

  • JDG-3137 Parsing 错误在 jboss-cli.xml 文件中发生
  • JDG-3114 RocksDB ReadOptions 内存泄漏
  • 如果目标节点位于集群中,则带有 CLI 命令的 j DG-2960 添加编译文件会失败
  • jDG-2834 启动多个缓存,使用缓存存储会导致自定义缓存存储的线程问题
  • JDG-2148 Client 为 @Indexed 注解记录不必要的警告信息
  • 当事务缓存在操作过程中停止时,j DG-2117 Wrong 值
  • jDG-3106 Operator 无法挂载包含密钥存储的卷
  • ReflectionUtil 类所需的 jDG-2968 安全更新

18.8. 修复了 Data Grid 7.3.2 中

Red Hat Data Grid 7.3.2 包括以下显著的修复:

18.9. 修复了 Data Grid 7.3.1

Red Hat Data Grid 7.3.1 包括以下显著的修复:

18.10. 修复了 Data Grid 7.3.0

在 Red Hat Data Grid 7.3.0 GA 中解决的所有问题列表
功能增强、文档改进、错误修复.

部分 IV. 迁移到 Data Grid 7.3

迁移到 Data Grid 7.3 涉及检查产品更改,以便您可以调整现有的配置和使用以确保成功升级。

第 19 章 Data Grid 7.3 的更改

19.1. JBoss Enterprise Application Platform (EAP)

Data Grid 服务器在此发行版本中基于 EAP 7.2。确保您参考 EAP 文档的正确版本,并且 7.2 中支持任何底层 EAP 配置或设置。

注意

此 Data Grid 发行版本只支持带有 EAP 7.2 的 org.infinispan.extension 模块。

有关本发行版本中支持的 EAP 版本的详情,请参考 https://access.redhat.com/articles/2435931 支持的配置。

19.2. EAP 模块

Data Grid 现在为 EAP 提供库和 Java Hot Rod 客户端模块作为单个软件包。在以前的版本中,Data Grid 提供库模块和 Java Hot Rod Client 模块作为单独的软件包。从客户门户网站下载 EAP 模块。

注意

Data Grid EAP 模块现在位于 system/add-ons/ispn 目录中。

19.3. 用于 JBoss Fuse 的 Camel 组件

对于 Apache Camel 集成,Red Hat Fuse 团队主动开发和维护一个 camel-infinispan 组件,它取代 camel-jbossdatagrid 组件。红帽建议您使用 Red Hat Fuse 7.3 及之后的版本提供的 camel-infinispan 组件。

如需更多信息,请参阅 Red Hat Fuse 文档

19.4. 缓存存储兼容性

Data Grid 7.3 引入了对内部 marshalling 功能的更改,这些功能与之前版本的 Data Grid 不兼容。因此,Data Grid 7.3.x 及之后的版本无法读取在之前版本的 Data Grid 中创建的缓存存储。另外,Data Grid 不再提供一些存储实现,如 JDBC Mixed 和 Binary 存储。

使用 StoreMigrator.java 迁移缓存存储。此迁移工具从以前的版本中的缓存中读取数据,并重写内容以便与当前 marshalling 实现兼容。

如需更多信息,请参阅 存储 Migrator

19.5. Memcached Storage

Data Grid Memcached 端点不再将密钥存储为 java.lang.String。为了更好地兼容数据平面,将密钥存储为 byte[] 数组,它们代表 UTF-8 编码字符串。

如果使用 Memcached 端点,您应该重新加载缓存中的数据,以将密钥存储为 byte[]。执行滚动升级或从外部来源加载数据。

19.6. Memcached Connector

为安全考虑,默认 memcache-connector 被禁用。要启用 memcache-connector,您必须配置 endpoint 子系统。请参阅 Memcached Connector 配置

19.7. 脚本响应

当来自每个服务器的结果为 null 时,带有基于文本的数据类型的分布式脚本不再返回 null。现在,响应都是带有每个结果的 JSON 数组,例如: [null, null]

19.8. 服务器线程池

处理子 Netty 事件循环的线程已从 192.168.1.0/24-ServerWorker 重命名为 192.168.1.0/24-ServerIO。

19.9. 带有 Passivation 的共享缓存存储

您无法将缓存存储配置为共享,然后为存储启用传递。此配置可能会导致数据不一致,因为无法在节点间同步数据。因此,如果发现此配置,Data Grid 现在在启动时抛出异常。

19.10. 带有 AffinityIndexManager 的默认 Shards

默认分片数量现在是 4。在以前的版本中,默认分片数量等于缓存中的片段数量。

19.11. 高级CacheLoader 更改

AdvancedCacheLoader SPI 允许基于 Reactive Streams 的 publishKeyspublishEntries 方法来提高性能、线程和易用性。这个更改会影响自定义 CacheLoader 实现。

19.12. Data Grid 7.3 中的弃用

此发行版本弃用了影响迁移到 Data Grid 7.3 的功能和功能。值得注意的兼容性模式通过为键/值对配置 MediaType 并以二进制格式存储数据来被弃用。LevelDB 缓存存储也已弃用,并替换为 RocksDB。

有关完整列表,请参阅 Data Grid 7.3 中已过时的功能和功能

部分 V. 修补数据中心服务器

Red Hat Data Grid 服务器使用 JBoss Enterprise Application Platform (EAP)中的补丁功能,以便您可以应用来自勘误版本的更改,而无需完全替换现有安装。

补丁为发布版本中的累积更新发布。这个版本的基本版本为 7.3.1。由于一个技术问题,无法修补 Data Grid 7.3.0。

您可以将 7.3.x 补丁应用到基本版本或其它补丁之上。

您不能将 7.3.x 补丁应用到任何其他 Data Grid 版本。同样,您无法将其他版本的补丁应用到 7.3 版本。

Data Grid 仅为服务器实例提供补丁(远程客户端-服务器模式)。所有其他发行版(如 EAP 模块、客户端和数据中心库模式)都作为完整版本提供。

第 20 章 将补丁应用到 Red Hat Data Grid

重要

在 Server Mode 中,无法在 7.3.0 之上修补 Data Grid 7.3.1 或更高版本。

Data Grid 7.3.1 服务器作为完整的发布提供。Data Grid 7.3.2 服务器以及每个后续 7.3.x 版本都作为补丁提供。

要将补丁应用到 Data Grid,请执行以下操作:

  1. 从红帽客户门户网站下载补丁 :https://access.redhat.com/downloads/
  2. 如果服务器正在运行,请停止您要修补的服务器实例。

    为了避免类加载出现问题,您不应该在服务器运行时将补丁应用到 Data Grid。

    使用管理控制台停止服务器,或者在运行 Data Grid 的终端中输入 Ctrl-C

  3. 打开一个终端,再更改到 MQTT G_HOME 目录。

    $ cd RHDG_HOME
    Copy to Clipboard Toggle word wrap
  4. 按如下方式应用补丁:

    $ bin/cli.sh "patch apply /path/to/jboss-datagrid-7.3.x-server-patch.zip"
    Copy to Clipboard Toggle word wrap
  5. 使用 standalone.shdomain.sh 脚本启动服务器,例如:

    $ bin/standalone.sh -c clustered.xml
    Copy to Clipboard Toggle word wrap

使用 7.3.8 和 7.3.9 Patch 解决错误

重要

当修补 Data Grid 服务器安装到 7.3.8 或 7.3.9 时,补丁的问题会在启动时出现错误。应用补丁后,您必须完成以下步骤,否则您无法启动 Data Grid。

  1. 打开您的服务器配置文件进行编辑。
  2. 从 remoting 子系统中删除 http-remoting-connector

    之前

    <subsystem xmlns="urn:jboss:domain:remoting:4.0">
      <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
    </subsystem>
    Copy to Clipboard Toggle word wrap

    After

    <subsystem xmlns="urn:jboss:domain:remoting:4.0"/>
    Copy to Clipboard Toggle word wrap

  3. 保存并关闭服务器配置。

如需更多信息,请参阅以下内容:在 应用补丁 7.3.8 后 (红帽知识库)

第 21 章 恢复补丁

您可以回滚补丁,将 Red Hat Data Grid 服务器恢复到之前安装的版本。

重要

只有在应用补丁后,您应该回滚补丁,该补丁会导致意外行为或不必要的影响。回滚补丁不适用于常规卸载功能。

要恢复 Data Grid 补丁,请执行以下操作:

  1. 如果服务器正在运行,请停止您要回滚的服务器实例。

    使用管理控制台停止服务器,或者在运行 Data Grid 的终端中输入 Ctrl-C

  2. 打开一个终端,再更改到 MQTT G_HOME 目录。

    $ cd RHDG_HOME
    Copy to Clipboard Toggle word wrap
  3. 查找您要回滚的补丁 ID。

    $ bin/cli.sh "patch history"
    Copy to Clipboard Toggle word wrap
  4. 回滚服务器版本,如下所示:

    $ bin/cli.sh "patch rollback --patch-id=PATCH_ID --reset-configuration=false"
    Copy to Clipboard Toggle word wrap
    警告

    在指定 reset-configuration 选项时要小心。

    --reset-configuration=false 不会恢复服务器配置。由于应用补丁可能会更改服务器配置,因此如果您回滚补丁但不回滚配置,服务器可能无法重启。在这种情况下,您应该验证服务器配置,并在启动服务器前根据需要手动调整它。

    --reset-configuration=true 将服务器配置恢复到预分配状态。应用补丁后对服务器配置的任何更改都会被移除。

    如果您试图回滚补丁时存在冲突,则操作会失败并出现警告。输入 patch --help 列出可用于解决冲突的可用参数。

  5. 使用 standalone.shdomain.sh 脚本启动服务器。

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat