[导入]Eclipse 导入/编译 Hadoop 源码
http://www.cnblogs.com/errorx/p/3779578.html
1.准备工作
- jdk:
- eclipse:
- Maven:
- libprotoc :https://developers.google.com/protocol-buffers/
- hadoop:http://www.apache.org/dyn/closer.cgi/hadoop/common/
添加开源中国maven库:http://maven.oschina.net/home.html
maven\conf\settings.xml
<localRepository>path</localRepository>

<localRepository>path</localRepository>
<mirrors>
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
</mirrors>

2.导入
- 将hadoop源码解压到一个目录,注意目录层次不要太深,否则可能无法解压。
- 进入hadoop-maven-plugins文件夹,执行 mvn install
- 返回源码根目录,执行 mvn eclipse:eclipse –DskipTests
- eclipse在任意目录创建新的WorkSpace
- eclipse设置Maven:window->preference->maven->{Installations...;user Settings:maven\conf\settings.xml}
- eclipse:File->inport->Existing Projects into WorkSpace->Hadoop源码根目录
3.错误处理
- maven下载pom失败->重新操作
- hadoop-streaming中build path错误->Java Build Path->Source:
- 删除...hadoop-yarn-server-resourcemanager/conf
- Link Source:源码根目录/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/conf,再随便起个名字;inclusion patterns:capacity-scheduler.xml;exclusion patters:**/*.java
- org.apache.hadoop.io.serializer.avro.TestAvroSerialization
- 下载avro-tools-1.7.4.jar:http://archive.apache.org/dist/avro/avro-1.7.4/java/
- 进入目录:源码根目录\hadoop-common-project\hadoop-common\src\test\avro
- java -jar path/to/avro-tools-1.7.4.jar compile schema avroRecord.avsc ..\java
- eclipse 刷新
- org.apache.hadoop.ipc.protobuf.TestProtos
- 进入目录:源码根目录\hadoop-common-project\hadoop-common\src\test\proto
- protoc --java_out=../java *.proto
- eclipse 刷新
- project->clean..->clean all projects & Build the entire workspace
[导入]Eclipse 导入/编译 Hadoop 源码的更多相关文章
- 编译Hadoop源码
背景: 在阅读hadoop源代码过程中会发现部分类或者函数无法找到,这是由于Hadoop2.0使用了Protocol Buffers定义了RPC协议, 而这些Protocol Buffers文件在Ma ...
- Windows 10 x64 下编译 Hadoop 源码
Windows 10 x64 下编译 Hadoop 源码 环境准备 Hadoop并没有提供官方的 Windows 10 下的安装包,所以需要自己手动来编译,官方文档中 BUILDING.txt 文件中 ...
- Eclipse远程调试hadoop源码
1. 修改对应调试端口 之前的一篇blog里讲述了hadoop单机版调试的方法,那种调试只限于单机运行hadoop命令而已,对于运行整个hadoop环境而言是不可取的,因为hadoop会开启多个jav ...
- hadoop源码eclipse环境搭建-源码获取阶段
就目前了解,结合eclipse阅读和编译hadoop源码用两种方式:svn和git. 根据官方指南http://wiki.apache.org/hadoop/EclipseEnvironment 推荐 ...
- Hadoop源码编译过程
一. 为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...
- Hadoop源码的编译过程详细解读(各版本)
说在前面的话 重新试多几次.编译过程中会出现下载某个包的时间太久,这是由于连接网站的过程中会出现假死,按ctrl+c,重新运行编译命令. 如果出现缺少了某个文件的情况,则要先清理maven(使用命 ...
- hadoop源码编译
为何要自行编译hadoop源码,往往是由于官方提供的hadoop发行版都是基于32位操作系统,在操作hadoop时会发生warn. 准备软件: 1)JDK 2)Hadoop源码 3)Maven 4 ...
- Centos7下编译CDH版本hadoop源码支持Snappy压缩
1 下载snappy包并编译 wget https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz tar ...
- Mac搭建Hadoop源码阅读环境
1.本次Hadoop源码阅读环境使用的阅读工具是idea,Hadoop版本是2.7.3.需要安装的工具包括idea.jdk.maven.protobuf等 2.jdk,使用的版本是1.8版,在jdk官 ...
随机推荐
- ABAP 行列稳定刷新语句
DATA stbl TYPE lvc_s_stbl. stbl-row = 'X'." 基于行的稳定刷新 stbl-col = 'X'." 基于列稳定刷新 ...
- 用基础动画实现iOS控件循环旋转
- (void)viewDidLoad { [super viewDidLoad]; UIButton* ag=[[UIButton alloc]initWithFrame:CGRectMake(sc ...
- 迭代器iterator
现在接着上篇的,写一来标识vector 的元素的对象迭代器iterator: 还是通过具体代码举例: 下面我讲了一个我暑期团队的故事哦~~: #include<iostream> #inc ...
- 【linux】学习4
文件压缩: gzip :压缩 解压缩 zcat: 读取压缩文件 gzip text1 :压缩text1 得到 text1.gz 原文件不见了 gzip -c text1 > text1.g ...
- log4j介绍以及使用教程
一.介绍 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接 口服务 器.NT的事件记录器.UNIX Syslog ...
- August 31st 2016 Week 36th Tuesday
A friend without faults will never be found. 没有缺点的朋友是永远找不到的. You can't find a friends without faults ...
- eclipse 中添加工程 Some projects cannot be imported because they already exist in the workspace
第一次从外部文件导入HelloWorld工程到workspace目录中,成功. 删除后,再次从外部导入workspace目录提示 Some projects cannot be imported be ...
- XMPP框架下微信项目总结(2)授权登陆/注销/注册/打印日志
xmpp授权登陆步骤1 初始化xmppstream 连接服务器 传递属性jid(IP地址 端口号)2 连接成功后 传递“登”陆密码授权 3 授权后,发送在线消息xmpp所有的代理都是子线程中调用的,处 ...
- iOS 访问粘贴板
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; pasteboard.string = self.label.text;
- wifi 4次握手
转自:http://zhaoxiaobu.blog.51cto.com/878176/407130/ 不管是用WEP加密,还是用WPA,一般如果我们要和AP建立一个连接,要经过两个阶段认证(Authe ...