在IDEA里编写好自己的WordCount程序后,我们使用Maven打包。
将jar包导入到Hadoop集群中。使用Hadoop命令执行jar包,出现如下错误:

这个错误的原因是我们的IDEA里用的JDK版本太高,可以看到complied的版本是more rencent(53.0)用的JDK9进行打包的。但是在我的虚拟机中,我安装的是JDK8(52.0)。所以会出现上述的异常。那么解决方案有两种。
1.是将Linux中的JDK重新安装成JDK9
2.更换生产环境中的JDK
2.1下载JDK8 ,安装JDK和JRE 并且为JDK配置环境变量。因为我之前安装了9,可以并行存在,只需要给JDK8一个新的文件夹即可。
2.2修改IDEA设置
在File-Settings-java Complier中,将红框内的设置为8即JDK8

2.3在File - project-structures-project中
对下述两个框框进行修改。因为可以看到我的version是1.9.0_202 (因为忘记改名了所以包名为9.0)之后将下面的SDK default修改为 8
2.4File - project-structures-modules中

修改LanguageLevel 。
修改完上述配置后,当前的project是无法立即生效的。可以新建project,将代码复制过去,重新打包上传Hadoop即可。
博客讲述了在IDEA中使用Maven打包的WordCount程序在Hadoop集群上运行时遇到的JDK版本不匹配问题。错误源于IDEA使用JDK9打包,而集群中安装的是JDK8。解决方案包括升级Linux中的JDK至9或者将IDEA设置调整为使用JDK8,包括修改Project和Module的SDK以及Language Level,并重新打包。通过调整IDEA设置确保与目标环境兼容性,避免此类异常。
1548

被折叠的 条评论
为什么被折叠?



