hadoop学习笔记——WIN7+eclipse+hadoop2.5.2部署
Posted ycfenxi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)感想
遇到异常问题,不急不躁,细致分析,假设时间同意,能够又一次捋一遍或者临时去干点别的事,或许猛然之间你就知道自己错在哪了
以上是关于hadoop学习笔记——WIN7+eclipse+hadoop2.5.2部署的主要内容,如果未能解决你的问题,请参考以下文章
Win7 Eclipse 搭建spark java1.8环境:WordCount helloworld例子
win7下在eclipse3.7中使用hadoop1.2.1插件运行MadReduce例子
如何在win7下的eclipse中调试Hadoop2.2.0的程序
如何在win7下的eclipse中调试Hadoop2.2.0的程序