就目前了解,结合eclipse阅读和编译hadoop源码用两种方式:svn和git。

根据官方指南http://wiki.apache.org/hadoop/EclipseEnvironment

推荐的是git和mvn一起把源码拉下来后经过编译后import到eclipse。

从另一个中文的博客http://blog.csdn.net/basicthinker/article/details/6174442,介绍了直接用svn的方式,但从编写日期看已经两年了,可能已经不是官方推荐的方式。

引起两个计划想做的事情:

一、了解git和mvn(应该是maven),究竟两者的功能分工各是什么

二、对比svn和git下载回来源码有什么差别,或者说确定svn有什么问题不是官方推荐

svn的方式需要eclipse安装subeclipse插件,只要保证有较好的网络安装过程没问题(在虚拟机的网络环境貌似设为bridge的方式比NAT要容易达到稳定高速),按照中文博客的说明不难完成。

经过一番周折才成功完成git和mvn的源码下载编译。问题主要出在

mvn install -DskipTests

报错说protocbuf(Protocol Buffers)版本不是最新,所以要去https://code.google.com/p/protobuf/下载2.5版的下来,configure-〉make-〉make check-〉make install(root权限,sudo),编译要用C++编译器,须下载安装g++。弄完这个protobuf后这步编译总算成功。

接下来就是一个需要大量下载相关jar和doc辅助编译的步骤,最好在网络能保证的条件下进行,否则浪费时间。

最后import项目到eclipse,还要补充一个class path variable,叫M2_REPO指向~/m2/repository,但目前有几个代码问题造成hadoop-common项目有个红叉,其他有几百多个warning。

后面就要花时间看看是什么原因造成这些问题,争取处理掉这些错误,或者不能解决也要知道什么导致的。

hadoop源码eclipse环境搭建-源码获取阶段的更多相关文章

  1. Hadoop源码阅读环境搭建(IDEA)

    拿到一份Hadoop源码之后,经常关注的两件事情就是 1.怎么阅读?涉及IDEA和Eclipse工程搭建.IDEA搭建,选择源码,逐步导入即可:Eclipse可以选择后台生成工程,也可以选择IDE导入 ...

  2. 基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建

    基于Eclipse IDE的Ardupilot飞控源码阅读环境搭建 作者:Awesome 日期:2017-10-21 需准备的软件工具 Ardupilot飞控源码 PX4 toolchain JAVA ...

  3. Spark源码分析环境搭建

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3868718.html 本文主要分享一下如何构建Spark源码分析环境.以前主要使用eclipse来阅读源 ...

  4. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  5. elasticsearch 源码本地环境搭建

    elasticsearch6.0.0 源码本地环境搭建步骤如下: 1.资源准备 ElasicSearch版本:6.0.0: https://github.com/elastic/elasticsear ...

  6. Eclipse环境搭建并且运行wordcount程序

    一.安装Hadoop插件 1. 所需环境  hadoop2.0伪分布式环境平台正常运行 所需压缩包:eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz 在Linu ...

  7. Linux巩固记录(3) hadoop 2.7.4 环境搭建

    由于要近期使用hadoop等进行相关任务执行,操作linux时候就多了 以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上 ...

  8. Java学习不走弯路教程(7.Eclipse环境搭建)

    7.Eclipse环境搭建 在前几章,我们熟悉了DOS环境下编译和运行Java程序,对于大规模的程序编写,开发工具是必不可少的.Java的开发工具比较常用的是Eclipse.在接下来的教程中,我们将基 ...

  9. scala 入门Eclipse环境搭建

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld IDE选择并下载: scala for eclipse 下载: http://scala-ide.org/downloa ...

随机推荐

  1. 用document.title=“xxx”动态修改title,在ios的微信下面不生效的解决办法!

    //需要jQuery var $body = $('body'); document.title = 'title'; // hack在微信等webview中无法修改document.title的情况 ...

  2. android玩耍(-) adbshell安装

    一 什么是adbshell http://adbshell.com/ Android Debug Bridge (adb) is a command line tool that lets you c ...

  3. make file 详

    一: linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a ...

  4. Android04-UI01常用控件

    1.常见控件的使用: TextView Button EditText ImageView   1.TextView <TextView android:id="@+id/text_v ...

  5. 有趣的keil MDK细节

    1.MDK中的char类型的取值范围是? 在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0-255.它们可以显式地声明为signed char 或 unsigned.因此 ...

  6. 简洁的jsp

    在开发 是使用tomcat7版本(7的jslt表达式语法检查更加严格) 1.去除生产html的不必要的空行 <%@ page trimDirectiveWhitespaces="tru ...

  7. SpringMVC、SpringMVC XML配置(纯XML方式)

    1.引入SrpingMVC所使用的Java包: cglib-nodep-2.1_3.jar.commons-logging.jar.spring-aspects-4.1.7.RELEASE.jar.s ...

  8. iOS开发之GCD使用总结

    GCD是iOS的一种底层多线程机制,今天总结一下GCD的常用API和概念,希望对大家的学习起到帮助作用. GCD队列的概念 在多线程开发当中,程序员只要将想做的事情定义好,并追加到DispatchQu ...

  9. win下vm10+mac os 10.9安装遇到问题

    在windows 8下安装vm10.0.0+mac os 10.9遇到问题记录例如以下: 一.因为之前我装的vm9+mac os 10.7: 二.准备安装mac os 10.9,把vm9换成vm10: ...

  10. C#学习基础总结

    概念:.net与c#.net/dontnet:一般指.net framework框架,一种平台,一种技术c#(charp):一种编程语言,可以开发基于.net的应用. *java既是一种技术又是一种编 ...