spark版本与java版本报错问题解决

本文参考自: 原文地址

安装完spark后运行出现这样的错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError:

org/apache/spark/network/util/ByteUnit : 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)

上图只是笔者从其他地方贴过来的,因为忘了截图了。

    但是原理上是一样的,都是同样的错误。因为安装时hadoop选用的是2.9.0版本,spark选用的是最近的2.3.1,然而刚开始的时候

jdk安装的是Linux自带的openjdk-7-jdk和openjdk-7-jre,由于spark在2.2版本以后就不再支持jdk7,所以在这种情况下,由于

spark和java的版本不适用,于是报错。

解决方案:

1)卸载掉原来的jdk版本;

2)从jdk官网下载新的jdk版本安装(这里采用1.8往上的版本)

之后出现了一个问题,由于在下载的时候没有注意到Ubuntu的问题,下载了rpm的安装包,但是Ubuntu并不直接支持rpm版本的安装,所

以这里给出处理方法:

将rpm转换为deb格式

1)apt-get install alien

2)alien <包名>.rpm

3)dpkg -i <包名>.deb #安装安装包

然后 java -version

查看结果会发现并没有成功。

4)配置环境变量(export JAVA_HOME JRE_HOME 以及相应的PATH CLASSPATH)

vim /etc/profile


source /etc/profile
5)

解压tools.pack及rt.pack,

/usr/java/jdk1. 8 .0_45/jre/lib# ../bin/unpack200 rt.pack rt.jar  
/usr/java/jdk1. 8 .0_45/lib# ../bin/unpack200 tools.pack tools.jar

之后再次 java -version 就可以看到安装后的版本了。

原博客:http://blog.51cto.com/53cto/1702607







猜你喜欢

转载自blog.csdn.net/qq_39706019/article/details/81357520