在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即可。