(本文仅供参考)
问题
仪表盘打开报错,提示:Could not initialize class org.apache.arrow.memory.util.MemoryUtil,同时日志里还会提示:Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.RuntimeException: Failed to initialize MemoryUtil. You must start Java with `--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED` (See https://arrow.apache.org/docs/java/install.html),之前是正常的。
原因
触发条件:开启了V2.0引擎,且jdk版本是9及以上版本。
因jdk9+版本对权限控制严格,不允许外部模块访问,导致加载不到对应类报错。
解决方案
添加jvm参数:--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED 解决。
jvm参数配置参考地址:应用服务器配置建议(JVM参数)