环境:windows7(64)+intelidea2017+hadoop8+jdk8.0
遇到的主要报错:
0、第一次用jdk9.0,编译时提示json的一个类没有,卸载,安装jdk8.0,问题解决
1.Exception in thread “main” java.lang.RuntimeException: java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset
解决办法:下载Hadoop到本地,解压,配置环境变量Hadoop_HOME ,并在path中加上%hadoop_home%/bin
然后在main函数中添加一行代码:
System.setProperty(“hadoop.home.dir”,”c:\hadoop”)
2.could not locate Hadoop executale
解决办法:下载hadoop版本和位数对应的wintuils.exe和hadoop.dll文件,将这两个文件放入hadoop的bin目录下
3.Exception in thread “main” java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0
解决办法:将hadoop.dll放在system32目录下
4、解决完上述几个报错后,运行,会在项目目录下生成一个output目录,里面记录有生成的结果文件
具体intelidea配置如下:
1、配置project setting
2、配置Artifacts
3、配置一个Application
其中Program arguments:中第一行为jar包路径,也就是在Artifacts配置的路径,第二行为带有main函数的类,三四行为输入输出
4、新建一个目录input,将分析文本文件拷贝进去
5、运行,成功后,会在项目目录下生成一个output目录,里面的文件如下:
7、三个类就是hadoop权威指南书上的天气例子,由于编辑器使用不好,
代码贴上排版很糟糕,所以没贴,网上有很多。