2.4. 主机系统和依赖项问题
在某些情况下,Data Grid 部署可能会遇到主机系统或外部依赖项导致的错误。本节详细介绍了任何已知的问题,以及故障排除和临时解决方案。
Nashorn JavaScript 引擎
如果您的 Data Grid Server 使用 JavaScript 来自动执行任务,您必须安装 Nashorn JavaScript 引擎,以确保这些脚本可以在 Data Grid 8.4 上运行。这是因为 OpenJDK 17 删除了对 Nashorn JavaScript 引擎、其 API 和 jjs 工具的支持。
对于裸机数据网格服务器,您可以通过在 Data Grid CLI 中发出以下命令,从 Maven 中央存储库安装 Nashorn:
bin/cli.sh install org.openjdk.nashorn:nashorn-core:15.4 \
org.ow2.asm:asm:7.3.1 \
org.ow2.asm:asm-util:7.3.1
bin/cli.sh install org.openjdk.nashorn:nashorn-core:15.4 \
org.ow2.asm:asm:7.3.1 \
org.ow2.asm:asm-util:7.3.1
在 OpenShift 中,您可以创建一个 Infinispan 自定义资源(CR),将 Data Grid Operator 设置为为您的 Data Grid 集群安装 Nashorn。例如:
TLS on Red Hat Enterprise Linux 7
RHEL 7 提供了 OpenSSL 库的版本,它尚不提供对 TLSv1.3 的支持。但是 Data Grid Server 8.4 默认启用 TLSv1.3 和 TLSv1.2,这会导致加密 Hot Rod 和 REST 端点的客户端连接出错。
Data Grid Server 还记录信息,如下所示:
WARN [org.infinispan.HOTROD] ISPN004098: Closing connection due to transport error org.infinispan.client.hotrod.exceptions.TransportException:: ISPN004077: Closing channel due to error in unknown operation.
WARN [org.infinispan.HOTROD] ISPN004098: Closing connection due to transport error
org.infinispan.client.hotrod.exceptions.TransportException:: ISPN004077:
Closing channel due to error in unknown operation.
如果在 RHEL 7 上安装 Data Grid Server,您应该使用以下 JVM 选项禁用 OpenSSL 来使用原生 Java SSL 库:
-Dorg.infinispan.openssl=false
-Dorg.infinispan.openssl=false