在IDEA上运行spark时遇到的Q&A

 问题:Could not locate executable nullinwinutils.exe in the Hadoop binaries

解决:缺少winutils.exe程序。 Hadoop都是运行在Linux系统下的,在windows下的IDEA中运行mapreduce程序,要首先安装Windows下运行的支持插件。注意下载的winutils.exe要和你hadoop版本一致。

①:下载winutils.exe。hadoop-2.6.5至hadoop-3.2.1的winutils.exe见:https://github.com/cdarlint/winutils

然后把winutils.exe添加到你的hadoop安装包目录下的bin下:

 把hadoop.dll复制到C:WindowsSystem32下:

 ②:设置环境变量:HADOOOP_HOME

重启IDEA或者电脑就可以了!

参考链接:https://blog.csdn.net/weixin_41122339/article/details/81141913

2、问题:运行Spark-shell,解决Unable to load native-hadoop library for your platform

解决办法:https://www.cnblogs.com/tijun/p/7562282.html

3、在windows电脑上:C:WindowsSystem32driversetchosts

配置主机名和IP的映射,例如:

8.129.26.6 master

4、问题:java.lang.NoSuchMethodError错误。com.fasterxml.jackson.module.scala.deser.BigDecimalDeserializer$.handledType()Ljava/lang/Class;

解决:有些时候明明有这个包,也有这个这个方法,但是仍然发生以上错误。其主要原因主要是jar包冲突导致,将jar包版本一致化,即可解决。

"D:BigDataspark-2.4.7-bin-without-hadoopspark-2.4.7-bin-without-hadoop_jar"目录下的所有JAR包。(这个是你的spark安装包目录)一定注意不要引入下面的jars文件夹中的jar包,容易出现jar包冲突,报错。

 

参考链接:https://blog.csdn.net/xugen12/article/details/78082344?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-10.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-10.control

5、问题:java.lang.ClassNotFoundException: org.apache.hadoop.mapred.JobConf

解决:出现此异常,就是缺少相关的依赖包,你检查一下以下四个依赖包是否齐全:

hadoop-mapreduce-client-core-2.7.2.jar

hadoop-common-2.7.2.jar

hadoop-mapreduce-client-common-2.7.2.jar

hadoop-mapreduce-client-jobclient-2.7.2.jar

添加依赖jar包,要给项目添加相关依赖包,否则会出错。

点击Idea的File菜单,然后点击“Project Structure”菜单,如下图所示:

 依次点击Modules和Dependencies,然后选择“+”的符号,如下图所示:

把你的hadoop安装包下的share->hadoop->mapreudce下的所有jar包和share->hadoop->mapreudce->lib下的所有jar包导入到项目中。

参考链接:https://mangocool.com/1464683020221.html

原文地址:https://www.cnblogs.com/wanpi/p/14311739.html