KingbaseES 数据库安装报错案例分析

Linux系统安装V008R006C007B0012版本KingbaseES数据库报错:Unsupported major.minor version 52.0

系统版本:

[root@vm-10-37-129-15 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.1 (Maipo)

KingbaseES数据库安装包:

KingbaseES_V008R006C007B0012_Lin64_install.iso

安装步骤:

1.上传KingbaseES数据库安装文件到服务器
2.mount KingbaseES_V008R006C007B0012_Lin64_install.iso /mnt
3.sh /mnt/setup.sh -i console

错误信息:

[kingbase@vm-10-37-129-15 mnt]$ sh /mnt/setup.sh -i console
Now launch installer
Preparing to install
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment.
Verifving JVM.
Launching installer.
Exception in thread "main" java. lang. UnsupportedClassVersionError: com/zerog/lax/LAX: Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1 (Native Method)
at java. lang. ClassLoader.defineClass (ClassLoader. java: 800) 
at java.security.SecureClassLoader. defineClass (SecureClassLoader. java: 142) 
at java.net.URLClassLoader.defineClass (URLClassLoader. iava: 449) 
at java.net.URLClassLoader. access$100(URLClassLoader.java: 71) 
at java.net. URLClassLoader$1. run (URLClassLoader. java: 361) 
at java.net.URLClassLoader$1. run (URLClassLoader. java: 355) 
at java.security.AccessController. doPrivileged (Native Method) 
at java.net.URLClassLoader.findClass (URLClassLoader. java: 354) 
at java. lang. ClassLoader. loadClass (ClassLoader. java: 425) 
at sun.misc.Launcher$AppClassLoader. loadClass (Launcher, ¡ava:308) 
at java. lang. ClassLoader. loadClass (ClassLoader. java: 358) 
at sun. launcher. LauncherHelper. checkAndLoadMain (LauncherHelper. java: 482)

原因分析:

1.通过Unsupported major.minor version 52.0信息基本可以确定是由于JDK版本不匹配导致的安装报错。
2.当前环境JDK版本低于KingbaseES安装要求的JDK版本。
3.根据错误信息52得知,要求的JDK对应版本号码为52。52对应JDK 1.8版本(Unsupported major.minor version 52.0信息为要求JDK对应的版本,而不是报错的JDK版本),高于52的jdk都可以使用。
4.安装Linux操作系统之后,会自带openjdk,查看jdk版本是否低于要求52的版本。

JDK对应关系见下图:

image-20230118161041724

建议操作:只要jdk>=52均可以使用.

1.查看当前环境的Jdk版本,删除低版本的JDK,安装对应或者高于1.8版本的JDK.再次启动安装程序,问题解决.

[root@vm-10-37-129-15 ~]# java -version
openjdk version "1.7.0_65"
OpenJDK Runtime Environment (build 1.7.0_65-b04)
OpenJDK 64-Bit Server VM (build 24.65-b04, sharing)
#使用which java查看java安装路径
[root@vm-10-37-129-15 ~]# which java 
/usr/bin/java
[root@vm-10-37-129-15 ~]# ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Aug  9  2021 /usr/bin/java -> /etc/alternatives/java
[root@vm-10-37-129-15 ~]# ls -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 71 Aug  9  2021 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.b04-1.el7.x86_64/jre/bin/java

#删除1.7JDK
[root@vm-10-37-129-15 ~]# rm -rf  /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.b04-1.el7.x86_64

#解压下载的1.8版本JDK
[root@vm-10-37-129-15 ~]# tar -xvf openjdk-1.8.tar -C /usr/lib/jvm/
[root@vm-10-37-129-15 ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)

2.安装了对应或者高于1.8版本的JDK,在.bash_profile、/etc/bashrc文件新增 JAVA_HOME=1.8版本JDK路径、JRE_HOME=1.8版本JDK路径.重新启动安装程序同样报错.

1.在.bash_profile设置了JAVA_HOME、JRE_HOME环境变量,但是安装程序读取的依旧是低版本的JDK.尝试修改/etc/bashrc新增JAVA_HOME、JRE_HOME环境变量.
2./etc/bashrc新增了JAVA_HOME、JRE_HOME环境变量,安装程序依旧报错.(安装程序依旧读取系统自带的openjdk,具体原因待深入研究)通过删除掉老版本的JDK.再次安装就可以.

3.JAVA项目遇到此问题,通过设置开发工具环境变量.系统的环境变量,均可以解决此问题.

posted @ 2023-02-28 17:41  KINGBASE研究院  阅读(180)  评论(0编辑  收藏  举报