实验环境:Ubuntu12.04.3 x64

编译前需要安装:

JDK7u45\maven\Protoc\findbugs等等,需要保持联网状态

所有安装文件全部放在当前用户目录~。

install java(64位) 安装方法参见此文

other

    sudo apt-get install g++
sudo apt-get install cmake
sudo apt-get install zlib1g.dev //An Ant BuildException has occured: exec returned: 1
sudo apt-get install libssl-dev //openssl problem

install findbugs(需配置环境,见后文)

wget http://jaist.dl.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-2.0.3.tar.gz
sudo tar -zxvf findbugs-2.0..tar.gz -C /opt

install maven(需配置环境,见后文)

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz
sudo tar zxvf apache-maven-3.1.-bin.tar.gz -C /opt
cd /opt/apache-maven-3.1./conf
sudo gedit settings.xml

由于maven国外服务器可能连不上,先给maven配置一下国内镜像,在maven目录下,conf/settings.xml,在<mirrors></mirros>里添加:

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

同样,在<profiles></profiles>内新添加:

   <profile>
<id>jdk-1.7</id>
<activation>
<jdk>1.7</jdk>
</activation>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>

install protobuf(编译安装,注意hadoop2.2.0要求protoc是2.5版本,在code.google上的protobuf-2.5.0.tar.gz格式的安装后为2.4.1,建议下载zip版)

cd ~
wget https://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.5.0.zip&can=2&q=
unzip protobuf-2.5..zip
cd protobuf-2.5./
sudo ./configure --prefix=/usr
sudo make clean //此命令为了避免出现cannot install `libprotoc.la' to a directory not ending in /opt/protoc/lib的错误
sudo make && make install

setup env

sudo gedit /etc/profile
#Java
export JAVA_HOME=/usr/local/java/jdk1..0_45
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib #$MAVEN
export MAVEN_HOME=/opt/apache-maven-3.1.
export PATH=$PATH:$MAVEN_HOME/bin #FINDBUGS
export FINDBUGS_HOME=/opt/findbugs-2.0.
export PATH=$FINDBUGS_HOME/bin:$PATH
source /etc/profile

compile

edit hadoop-2.2.0-src/pom.xml@line221 3.0->3.3

cd ~/hadoop-2.2.-src/
mvn clean package -Pdist,native,docs -DskipTests -Dtar
//编译中途出错修正后可从指定点开始继续编译,修改最后一个参数即可。如出现hadoop-hdfs/target/findbugsXml.xml does not exist则从该命令删除docs参数再运行mvn package -Pdist,native -DskipTests -Dtar -rf :hadoop-pipes

漫长等待吧~在虚拟机也就用了半个小时

[exec] $ tar cf hadoop-2.2.0.tar hadoop-2.2.0
[exec] $ gzip -f hadoop-2.2.0.tar
[exec]
[exec] Hadoop dist tar available at: /home/hadoop/hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0.tar.gz

Hadoop2.2.0-64位编译的更多相关文章

  1. hadoop2.6.0 --- 64位源代码

    今天有朋友在群里找hadoop最新的2.6.0的源代码,其实这个源代码在hadoop的官方网站是有下载的(应该是32位的),还有一个src,不过给的是maven版本,需要自己在机器上编译一下(我的机器 ...

  2. ubuntu14.0 hadoop2.4.0 64位基于jdk1.7搭建

    注意:hadoop有两种运行模式,安全模式和非安全模式.安装模式是以指定在健壮的,基于身份验证上运行的,本文无需运行在非安全模式下,可以直接使用root用户. 本文用户是基于root用户来运行的 一. ...

  3. CentOS6.0(64位)安装Apache+PHP+Mysql教程,安装Magento(解决DOM,Mcrypt,GD问题)完整教程

    CentOS6.0(64位)安装Apache+PHP+Mysql教程,安装Magento(解决DOM,Mcrypt,GD问题)完整教程 0   Posted by :小黑 On : 2012 年 9 ...

  4. linux gcc 区分32位或64位编译 && 请问arm存储,是以小端格式还是以大端格式?

    linux gcc 区分32位或64位编译   Linux系统下程序如何区分是64位系统还是32位系统 经过对include的翻查,最后确定gcc以__i386__来 进行32位编码,而以__x86_ ...

  5. hadoop-2.6.0源码编译问题汇总

    在上一篇文章中,介绍了hadoop-2.6.0源码编译的一般流程,因个人计算机环境的不同, 编译过程中难免会出现一些错误,下面是我编译过程中遇到的错误. 列举出来并附上我解决此错误的方法,希望对大家有 ...

  6. [转] 关于VS中区分debug与release,32位与64位编译的宏定义

    在vs编程中,常常涉及到32位和64位程序的编译,怎么判断当前编译是32位编译还是64位编译?如何判断是debug下编译还是release下编译?因为之前用到,这里记录一下,省的忘了又要疯狂的goog ...

  7. VS 2008的64位编译环境的安装和使用

    1. 安装64位编译环境 最近准备编译64位版本的程序.因为之前已经安装了VS 2008,开始以为只是使用VS 2008的安装文件添加功能即可,后来发现没这么简单.直接双击VS 2008的安装文件来安 ...

  8. [转]VS2013+简单稀疏光束调整库SSBA配置(64位编译)

    有关SSBA库的资源比较少,我是在Github上搜索下载的,具体的GitHub官方下载地址为:SSBA 下载后在SSBA解压文件夹下新建文件夹build. 打开cmake gui,在source co ...

  9. Hadoop入门进阶课程2--Hadoop2.X 64位编译

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  10. Linux 64位编译\链接32位程序

    测试机器:Ubuntu14.04 64位 gcc编译32位程序,添加参数-m32: $ gcc -c -fno-builtin -m32 TinyHelloWorld.c ld链接32位代码,添加参数 ...

随机推荐

  1. 编程风格---代码中doxygen方式的注释写法

    代码中doxygen方式的注释写法: 1. 模块定义(单独显示一页) /* * @defgroup 模块名 模块的说明文字 * @{ */ … 定义的内容 … /** @} */ // 模块结尾 2. ...

  2. 1.docker学习

    Docker —— 从入门到实践 http://udn.yyuap.com/doc/docker_practice/introduction/index.html 非常详细的Docker学习教程 ht ...

  3. ofbiz数据库表结构设计(2)- CONTACT_MECH

    ofbiz中,party的电话.地址等联系方式设计得非常巧妙,让我们来仔细分析一下. 有一个叫做CONTACT_MECH的表,这张表我们把它称作联系方式表,一个电话号码.一个通讯地址.一个电子邮件,都 ...

  4. 【HDOJ5972】Regular Number(Bitset,ShiftAnd)

    题意:给你N位数,接下来有N行,第i行先输入n,表示这个数的第i 位上可以在接下来的n个数中挑选,然后i 行再输n个数. 然后输入需要匹配的母串,让你输出母串中有多少个可行的N位子串. n<=1 ...

  5. HDU 4487 Maximum Random Walk

    Maximum Random Walk Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  6. 详解C中volatile关键字(转)

    volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据.如果没有volatile关键字,则编译器可能优化读取和存储 ...

  7. saltstack 模块学习之 state

     入口文件top.sls 三要素环境:通过file-roots指定目标主机:可以使用通配符*配置文件路径:路径分割符为. 比如a.mysql 表示在环境指定的路径下有个a目录,a目录下有个mysql. ...

  8. python c++ Visual Studio相关 Unable to find vcvarsall.bat问题

    使用Cython编译包的时候报错: Unable to find vcvarsall.bat 说明:https://jingyan.baidu.com/article/adc815138162e8f7 ...

  9. Python Challenge 第十二关

    这一关依旧只有一张图,右键源代码也没有任何注释,也用PIL处理过那张图但没任何头绪,没办法只有上网搜答案. 别人的博客里说,源代码里面图片的名字是 evil1.jpg,那肯定会有 evil2.jpg. ...

  10. 项目中使用libsodium扩展

    前段时间研究了微信小微商户,地址:https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=19_11 其接口操作中需要下载证书针对返回的密 ...