[缺陷描述]: 疑似java环境版本过低,不支持 aliyun 中最新版本的apache-storm [重现环境]: 环境信息:云上ecs OS:Anolis 23.1 x86_64/aarch64 都存在 # cat /etc/os-release NAME="Anolis OS" VERSION="23" ID="anolis" VERSION_ID="23" PLATFORM_ID="platform:an23" PRETTY_NAME="Anolis OS 23" ANSI_COLOR="0;31" HOME_URL="https://openanolis.cn/" BUG_REPORT_URL="https://bugzilla.openanolis.cn/" KERNEL: # uname -r 5.10.134-16.2_rc1.an23.x86_64 5.10.134-16.2_rc1.an23.aarch64 repo信息: Repo-id : os-Nightly Repo-name : AnolisOS-23 - os Repo-revision : 1704908709 Repo-updated : Wed 03 Jan 2024 02:13:36 PM CST Repo-baseurl : http://mirrors.openanolis.cn/anolis/23/Nightly/os/aarch64/os Repo-filename : /etc/yum.repos.d/AnolisOS-Nightly.repo Repo-id : updates-Nightly Repo-name : AnolisOS-23 - updates Repo-revision : 1692065947 Repo-updated : Tue 15 Aug 2023 10:19:07 AM CST Repo-baseurl : http://mirrors.openanolis.cn/anolis/23/Nightly/updates/aarch64/os Repo-filename : /etc/yum.repos.d/AnolisOS-Nightly.repo [重现步骤]: 参考软件兼容性SIG:https://openanolis.cn/sig/third_software_compatibility/doc/437095221736343380 yum install -y java python3 wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz tar -xaf apache-zookeeper-3.9.1-bin.tar.gz cd apache-zookeeper-3.9.1-bin cat << EOF > conf/zoo.cfg tickTime=2000 dataDir=/tmp/zookeeper clientPort=2181 initLimit=5 syncLimit=2 EOF bin/zkServer.sh start cd /root wget https://mirrors.aliyun.com/apache/storm/apache-storm-2.6.0/apache-storm-2.6.0.tar.gz mkdir -p /tmp/storm tar -xaf apache-storm-2.6.0.tar.gz cd apache-storm-2.6.0 cat << EOF > conf/storm.yaml storm.zookeeper.servers: - "localhost" storm.local.dir: “/tmp/storm” nimbus.host: "localhost" supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703 ui.port: 8081 EOF bin/storm nimbus & bin/storm supervisor & bin/storm ui & [期望结果]: storm服务启动成功 [实际结果]: storm服务启动失败 执行 bin/storm nimbus 时报错如下: Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/storm/command/ConfigValue has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:473) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:621) [原因定位]: an23 中的 java版本过低,不支持最新版本的storm,请确认 an23后续是否需要支持storm # rpm -qa | grep java tzdata-java-2023c-2.an23.noarch javapackages-filesystem-6.1.0-4.an23.noarch java-1.8.0-alibaba-dragonwell-headless-8.15.16.372-2.an23.aarch64 java-1.8.0-alibaba-dragonwell-8.15.16.372-2.an23.aarch64 java-1.8.0-alibaba-dragonwell-devel-8.15.16.372-2.an23.aarch64 # java -version openjdk version "1.8.0_372" OpenJDK Runtime Environment (Alibaba Dragonwell Extended Edition 8.15.16) (build 1.8.0_372-b03) OpenJDK 64-Bit Server VM (Alibaba Dragonwell Extended Edition 8.15.16) (build 25.372-b03, mixed mode)
软件包jboss在升级到最新版本时,jenkins部署出现同样情况,疑似java版本低导致不支持jenkins相关的模块; 报错如下: # cat jenkins.war.failed {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"jenkins.war\".undertow-deployment.UndertowDeploymentInfoService" => "Failed to start service Caused by: java.lang.UnsupportedClassVersionError: Failed to link org/kohsuke/stapler/Stapler (Module \"deployment.jenkins.war\" from Service Module Loader): org/kohsuke/stapler/Stapler has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0"}}
卸载yum安装的默认版本的java后,重新指定安装 17 版本的java,验证软件功能正常,该情况是否合理 # java -version openjdk version "17.0.8.7" 2023-12-04 OpenJDK Runtime Environment (Alibaba Dragonwell) (build 17.0.8.7+7) OpenJDK 64-Bit Server VM (Alibaba Dragonwell) (build 17.0.8.7+7, mixed mode, sharing)
https://storm.apache.org/2023/11/22/storm260-released.html [STORM-3939] - Remove JDK 8 support storm 2.6 明确说明移除了 java8 的支持,因此该问题并非 bug。
该软件先在an23 上skip