当前位置: 代码迷 >> Eclipse >> hadoop学习笔记(3)——WIN7+eclipse+hadoop2.5.2部署
  详细解决方案

hadoop学习笔记(3)——WIN7+eclipse+hadoop2.5.2部署

热度:270   发布时间:2016-04-22 23:52:33.0
hadoop学习笔记(三)——WIN7+eclipse+hadoop2.5.2部署

折腾了大半个晚上终于部署成功了,比在Linux上面稍微复杂一点,详细步骤如下:

1)  jdk、ant、hadoop环境变量配置

2)  分别将hadoop-2.5.2.tar.gz、hadoop-2.5.2-src.tar.gz、hadoop2x-eclipse-plugin、hadoop-common-2.2.0-bin下载解压到D:\profession\hadoop目录下

3)  修改hadoop-eclipse-plugin-2.5.2.jar配置

修改D:\profession\hadoop\hadoop2x-eclipse-plugin-master\ivy\libraries.properties

hadoop.version=2.5.2

jackson.version=1.9.13 

4)  ant编译hadoop-eclipse-plugin-2.5.2.jar

D:\profession\hadoop\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin> 
ant jar -Dversion=2.5.2 -Declipse.home= D:\profession\eclipse -Dhadoop.home= D:\profession\hadoop\hadoop-2.5.2

编译好后hadoop-eclipse-plugin-2.5.2.jar会在D:\profession\hadoop\hadoop2x-eclipse-plugin-master\build\contrib\eclipse-plugin目录下

(注意:会有警告信息,提示缺少jar包,导入即可) 

5)  将编译好的hadoop-eclipse-plugin-2.5.2.jar拷贝至eclipse的plugins目录下,然后重启eclipse。

(注:如在左边project中看到DFS Locations,即表示eclipse成功识别,有些eclipse版本必须在Java EE版本下才能识别)

6)  Window--Preference--Hadoop Map/Reduce进行配置,

7)  显示Hadoop连接配置窗口:Window--ShowView--Other-MapReduce Tools

8)  配置连接Hadoop,如下图所示:

9)  点击左侧的DFS Locations,如能看到user,表示安装成功

10)     hadoop集群环境添加测试文件,使用上面的input.txt文件

11)     新建项目File--New--Other--Map/Reduce Project 命名为MR1,

 然后创建org.apache.hadoop.examples.WordCount,从hadoop-2.5.2-src中拷贝覆盖(\hadoop-2.5.2-src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples)

12)     配置windows下运行环境,

需hadoop.dll,winutils.exe
直接拷贝D:\profession\hadoop\hadoop-common-2.2.0-bin-master\bin目录下此2项内容覆盖D:\profession\hadoop\hadoop-2.5.2\bin

13)     配置运行参数

点击WordCount.java,右键,点击RunAs—>Run Configurations,配置运行参数,即输入和输出文件夹

hdfs://hadoop:9000/user/hadoop/inputhdfs://hadoop:9000/user/hadoop/output02

14)     运行程序

Run as application/Run as hadoop

15)错误集锦

1.  Q: An internal error occurred during: "Map/Reduce locationstatus updater".

java.lang.NullPointerException

A:把eclipse切换到Java EE版本即可

2.  Q:WARN hdfs.DFSClient:DataStreamer Exception: org.apache.hadoop.ipc.RemoteException:java.io.IOException: File /user/root/input01/file01 could only be replicated to0 nodes, instead of 1

A:这是由于没有添加节点的原因,即datanode没有启动成功

3.  Q: java.io.IOException: Cannot run program "D:/java" (indirectory"C:/Users/administrator/.net.sf.jadclipse/1372683520891"):

A:JadClipse没有配置好,下载jad.exe,Windows ->Preferences -> Java -> JadClipse选项, 在path todecomplier: 文本框中写入D:/java/jad.exe(先前下载jad.exe的路径)

4.  Q: java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)

A:hadoop-common-2.2.0-bin-master下的bin的hadoop.dll放到C:\Windows\System32下,然后重启电脑,也许还没那么简单,还是出现这样的问题。Windows的唯一方法用于检查当前进程的请求,在给定的路径的访问权限,所以我们先给以能进行访问,我们自己先修改源代码,return true 时允许访问。我们下载对应hadoop源代码,hadoop-2.5.2-src.tar.gz解压,hadoop-2.5.2-src\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\io\nativeio下NativeIO.java 复制到对应的Eclipse的project,然后修改570行为return  true如图所示:

16)感想

遇到异常问题,不急不躁,仔细分析,如果时间允许,可以重新捋一遍或者暂时去干点别的事,也许猛然之间你就知道自己错在哪了


  相关解决方案