就目前了解,结合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. jquery实现div垂直居中

    <html> <head> <meta charset="UTF-8"> <title></title> <scr ...

  2. Android 监听网络变化

    Android 监听网络变化

  3. 初学swift笔记字典、数组(四)

    import Foundation //字典 元素顺序是无序的 //1.字典元素是键值对 (key:value) //key 一定是可哈希的 string\int\bool var dic1=[&qu ...

  4. C#句柄使用

    原文:C#句柄使用 调用 API 函数 SendMessage 发送 WM_CLOSE 消息. DllImport("User32.dll",EntryPoint="Se ...

  5. Keil 中的预处理命令const

    在keil中,宏定义是一个重要内容.无参数的宏作为常量,而带参数的宏则可以提供比函数更高的调用效率.但预处理只是进行简单的文本代替,而不做语法检查,所以会存在一些问题. 例如:#define BUFS ...

  6. poj 2686 Traveling by Stagecoach ---状态压缩DP

    题意:给出一个简单带权无向图和起止点,以及若干张马车车票,每张车票可以雇到相应数量的马. 点 u, v 间有边时,从 u 到 v 或从 v 到 u 必须用且仅用一张车票,花费的时间为 w(u, v) ...

  7. 使用Vitamio打造自己的Android万能播放器(2)—— 手势控制亮度、音量、缩放

    前言 本章继续完善播放相关播放器的核心功能,为后续扩展打好基础.   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://ove ...

  8. ChartControl第一课简短的控件初步设计

    WinForms Controls >Controls > Chart Control > Getting Started This document gives you a qui ...

  9. javascript高级知识分析——作为对象的函数

    代码信息来自于http://ejohn.org/apps/learn/. 函数和对象是不是非常相似? var obj = {}; var fn = function(){}; console.log( ...

  10. c++中,size_typt, size_t, ptrdiff_t 简介

    size_type 类型 从逻辑上来讲,size() 成员函数似乎应该返回整形数值,或如 2.2 节“建议”中所述的无符号整数.但事实上,size 操作返回的是 string::size_type 类 ...