企业级Hadoop 2.x入门系列之三将Hadoop 2.x源码导入Eclipse中
来源:互联网 发布:人工智能要从娃娃抓起 编辑:程序博客网 时间:2024/05/22 12:43
2.5 Eclipse导入源码
Step1:使用Maven构建Eclipse项目
官方说明:
Importing projects to eclipse
When you import the project to eclipse, installhadoop-maven-plugins at first.
$ cd hadoop-maven-plugins
$ mvninstall
Then, generate eclipse project files.
$ mvneclipse:eclipse -DskipTests
At last, import to eclipse by specifying the rootdirectory of the project via
[File] > [Import] > [Existing Projects intoWorkspace].
编译步骤:
(1) 进入源码根目录hadoop-src-2.2.0
mvncompile –Pnative --编译源码
生成 hadoop-maven-plugins 目录,
(2) 安装hadoop-maven-plugins插件
进入源码根目录下的maven-plugins目录:
cd /workDir/Hadoop-2.2.0-src/hadoop-maven-plugins/
执行:
mvn install
(3) 生成Eclipse项目文件
执行完成后退到上级目录
cd .. --(回到Hadoop-2.2.0-src目录)
执行命令:
mvn eclipse:eclipse –DskipTests
生成Eclipse工程文件
Step2:通过远程工具操作Eclipse
使用Xmanager远程图形工具打开Linux中的Eclipse
cd /workDir/eclipse
./eclipse
这样就打开Eclipse了
执行:[File] > [Import] > [Existing Projects into Workspace] > sourceroot选择代码根目录
Eclipse工程文件里hadoop-streaming 有一个source code外部引用路径不正确,手动修正(capacity-scheduler.xml)。
配置 Eclipse M2_REPO 变量
Window/Preference/Java/Build Path, M2_REPO默认路径为
/home/<usename>/.m2/repository。
错误解决:
摘录于http://www.cnblogs.com/zhengcong/p/3592490.html
Error#1. hadoop-streaming里面的buildpath有问题,显示:
/root/workspace/hadoop-2.2.0-src/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/conf(missing)
解决办法,remove掉引用就好。
Error#2.hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSClientFailover.java中报
sun.net.spi.nameservice.NameService错误,这是一个需要import的包,存在于openjdk中,在OracleJdk中没找到,需要下载一个。NameService是一个接口,在网上找一个NameService放到该包中就好。
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7u40-b43/sun/net/spi/nameservice/NameService.java#NameService
Error#3. /hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/offlineEditsViewer/XmlEditsVisitor.java里面显示:
importcom.sun.org.apache.xml.internal.serialize.OutputFormat;
importcom.sun.org.apache.xml.internal.serialize.XMLSerializer;
失败,这是由于Eclipse的强检查原则,打开Java -> Compiler ->Errors/Warnings and under "Deprecated and restricted API" change thesetting of "Forbidden reference (access rules)" 将error级别调整到warning级别就好。
Error#4. /hadoop-common/src/test/java/org/apache/hadoop/io/serializer/avro/TestAvroSerialization.java
显示没有AvroRecord类,在网上搜索到AvroRecord类放入到同级包中就行了。
http://grepcode.com/file/repo1.maven.org/maven2/org.apache.hadoop/hadoop-common/2.2.0/org/apache/hadoop/io/serializer/avro/AvroRecord.java#AvroRecord
Error#5. org.apache.hadoop.ipc.protobuf包是空的,需要在/hadoop-common/target/generated-sources/java中找到profobuf拷贝到/hadoop-common/src/test/java中就好了. 同时包里面还缺少了以下三个引用,在GrepCode上找一下,把hadoop-common2.2.0的相应文件下下来导入。
org.apache.hadoop.ipc.protobuf.TestProtos.EchoRequestProto;
org.apache.hadoop.ipc.protobuf.TestProtos.EchoResponseProto;
org.apache.hadoop.ipc.protobuf.TestRpcServiceProtos.TestProtobufRpcProto;
- 企业级Hadoop 2.x入门系列之三将Hadoop 2.x源码导入Eclipse中
- 企业级Hadoop 2.x入门系列之二Hadoop 2.2.0源码编译
- 企业级Hadoop 2.x入门系列之九Hadoop核心配置文件的默认配置解读
- 企业级Hadoop 2.x入门系列之一Apache Hadoop 2.x简介与版本
- 企业级Hadoop 2.x入门系列之十二入门视频分享
- 企业级Hadoop 2.x入门系列之四HDFS文件系统和YARN资源管理框架简介
- 企业级Hadoop 2.x入门系列之五Hadoop2.2 伪分布式安装
- 企业级Hadoop 2.x入门系列之六HDFS的Shell操作与管理
- 企业级Hadoop 2.x入门系列之七YARN的Shell操作与管理
- 企业级Hadoop 2.x入门系列之八HDFS和YARN的启动方式
- 企业级Hadoop 2.x入门系列之十MapReduce 程序相关日志
- 企业级Hadoop 2.x入门系列之十一MapReduce Uber 模式
- 在2.x版本中,将hadoop源代码导入到eclipse中:
- hadoop之 Hadoop 2.x HA 、Federation
- eclipse中导入hadoop源码
- Hadoop源码导入eclipse中
- 【源码】Hadoop 2.x中fsimage和edits合并实现
- Hadoop 2.x源码包编译
- Java线程面试题 Top 50
- UI使用时关于button代码
- 利用BeanUtils与PropertyUtils进行javabean的内省操作
- javascript中 "||", "&&" 特殊用法
- Java 中int与byte数组转换详解
- 企业级Hadoop 2.x入门系列之三将Hadoop 2.x源码导入Eclipse中
- 【经典】利用堆,将若干个有序数组合并
- Android--APK更新总结
- 使用AWS亚马逊云搭建Gmail转发服务(一)
- magento目录解析
- 数据可视化-------图解“博士是什么”
- 徒手打造一款PK 名片全能王 的名片识别应用
- 关于Java中FileOutputStream的一点细节问题
- 企业级Hadoop 2.x入门系列之四HDFS文件系统和YARN资源管理框架简介