分享

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

本帖被以下淘专辑推荐:

已有(2)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条