Bug 7859 - [Anolis23.1][RC1][软件兼容性] 疑似java环境版本过低,不支持 aliyun 中最新版本的apache-storm-2.6.0
Summary: [Anolis23.1][RC1][软件兼容性] 疑似java环境版本过低,不支持 aliyun 中最新版本的apache-storm-2.6.0
Status: CLOSED BYDESIGN
Alias: None
Product: Anolis OS 23
Classification: Anolis OS
Component: BaseOS Packages (show other bugs) BaseOS Packages
Version: 23.1
Hardware: All Linux
: P3-Medium S3-normal
Target Milestone: ---
Assignee: happy_orange
QA Contact: bolong_tbl
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-10 10:11 UTC by Janos
Modified: 2024-05-24 14:29 UTC (History)
12 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Janos alibaba_cloud_group 2024-01-10 10:11:00 UTC
[缺陷描述]:
   疑似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)
Comment 1 wangpingping alibaba_cloud_group 2024-01-11 15:02:42 UTC
软件包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"}}
Comment 2 Janos alibaba_cloud_group 2024-01-12 10:15:51 UTC
卸载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)
Comment 3 gaochang alibaba_cloud_group 2024-01-15 16:30:29 UTC
https://storm.apache.org/2023/11/22/storm260-released.html
[STORM-3939] - Remove JDK 8 support
storm 2.6 明确说明移除了 java8 的支持,因此该问题并非 bug。
Comment 4 yunmeng365524 2024-05-24 14:29:01 UTC
该软件先在an23 上skip