目录

准备工作

jar包安装

源码编译


准备工作

  • CentOS可以联网,验证:ping www.baidu.com 是畅通的
  • jar 包准备(hadoop 源码、JDK8、maven、ant 、protobuf)
    (1)hadoop-2.7.2-src.tar.gz
    (2)jdk-8u144-linux-x64.tar.gz
    (3)apache-ant-1.9.9-bin.tar.gz(build 工具,打包用的)
    (4)apache-maven-3.0.5-bin.tar.gz
    (5)protobuf-2.5.0.tar.gz(序列化的框架)

注意:采用root 角色编译,减少文件夹权限出现问题,最好准备一台干净的机器

jar包安装

  • JDK解压,配置环境变量JAVA_HOME和PATH
tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/module/

vi /etc/profile

#JAVA_HOME:
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH source /etc/profile 验证:java -version
  • Maven 解压、配置MAVEN_HOME 和PATH

tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/

vi conf/settings.xml
在<mirrors></mirrors>添加镜像 <mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror> vi /etc/profile # MAVEN_HOME
export MAVEN_HOME=/opt/module/apache-maven-3.0.5
export PATH=$MAVEN_HOME/bin:$PATH source /etc/profile 验证:mvn -version
  • ant 解压、配置ANT _HOME 和PATH
tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/

vi /etc/profile

# ANT_HOME
export ANT_HOME=/opt/module/apache-ant-1.9.9
export PATH=$PATH:$ANT_HOME/bin source /etc/profile 验证:ant -version
  • 安装glibc-headers 和g++ 命令如下
yum install glibc-headers
yum install gcc-c++
  • 安装make 和cmake
yum install make
yum install cmake
  • 解压protobuf ,进入到解压后protobuf 主目录,/opt/module/protobuf-2.5.0,然后相继执行命令
tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/

cd /opt/module/protobuf-2.5.0/

./configure
make
make check
make install
ldconfig vi /etc/profile # LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0
export PATH=$PATH:$LD_LIBRARY_PATH source /etc/profile 验证:protoc --version
  • 安装openssl ,ncurses-devel 库
yum install openssl-devel
yum install ncurses-devel

到此编译工具安装基本完成

源码编译

  • 解压源码到/opt/目录
tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt/
  • 进入到hadoop 源码主目录
cd /opt/hadoop-2.7.2-src
  • 通过maven 执行编译命令
mvn package -Pdist,native -DskipTests -Dtar
  • 编译成功的64 位hadoop 包在/opt/hadoop-2.7.2-src/hadoop-dist/target 下

197706290

Hadoop2.7.2源码编译过程的更多相关文章

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

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

  2. Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程

    Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容 ...

  3. 英蓓特Mars board的android4.0.3源码编译过程

    英蓓特Mars board的android4.0.3源码编译过程 作者:StephenZhu(大桥++) 2013年8月22日 若要转载,请注明出处 一.编译环境搭建及要点: 1. 虚拟机软件virt ...

  4. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  5. 使用Maven将Hadoop2.2.0源码编译成Eclipse项目

    编译环境: OS:RHEL 6.3 x64 Maven:3.2.1 Eclipse:Juno SR2 Linux x64 libprotoc:2.5.0 JDK:1.7.0_51 x64 步骤: 1. ...

  6. nginx源码编译以及源码编译过程中遇到的问题

    本文主要讲nginx安装以及安装过程中遇到的问题. 谈到nginx 必须聊聊它的起源和发展. nginx是由俄罗斯工程师Igor Sysoev 用C语言开发的一个免费开源的Web服务器软件,于2004 ...

  7. android源码编译过程

    1.下载好android源码包. 2.装好vm,ubuntu(如果能在实体机装linux更好). 3.安装所需要的deb包 在终端执行如下命令: sudo apt-get install flex b ...

  8. spring5源码编译过程中必经的坑

    spring源码编译流程:Spring5 源码下载 第 一 步 : https://github.com/spring-projects/spring-framework/archive/v5.0.2 ...

  9. hadoop-2.6.0源码编译

    运行hadoop环境时,常常会出现这种提示 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your plat ...

随机推荐

  1. Qt之QColorDialog

    widget.h: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> class Widget : public QWidget { ...

  2. golang中json格式化自定义日期格式

    go 的time.Time,在json序列化是默认 2006-01-02T15:04:05Z07:00 的格式,十分不便, encoding/json包在序列化和反序列化的时候分别调用encode.g ...

  3. JavaWeb概念及Web资源的分类

    一,JavaWeb概念 1,JavaWeb,所有通过java语言编写可以通过浏览器访问的程序的总称 JavaWeb是基于请求和响应来开发的. 2,什么是请求 请求:指客户端给服务端发送数据,Reque ...

  4. 多线程-线程间通信-多生产者多消费者问题解决(notifyAll)

    1 package multithread4; 2 3 /* 4 * 生产者,消费者. 5 * 6 * 多生产者,多消费者的问题. 7 * 8 * if判断标记,只有一次,会导致不该运行的线程运行了. ...

  5. mysql加强(4)~多表查询

    mysql加强(4)~多表查询:笛卡尔积.消除笛卡尔积操作(等值.非等值连接),内连接(隐式连接.显示连接).外连接.自连接 一.笛卡尔积 1.什么是笛卡尔积: 数学上,有两个集合A={a,b},B= ...

  6. 在ajax请求中,contentType 和 dataType 的区别?

    一.在ajax请求中,contentType 和 dataType 的区别? 1.contentType 内容类型. 1.1默认是 "application/x-www-form-urlen ...

  7. c++14新特性

    1.函数返回值类型推导 c++14对函数返回类型推导规则做了优化: auto func(int i) { //C++11编译非法,c++14支持auto返回值类型推导 return i; } int ...

  8. 2022.02.05 DAY2

    前言 今天陪老姐送对象去安庆了,上午还去了西风禅寺求了个签,第一次拿到中评签,看来今年还需要继续努力哈哈哈.一直到晚上才有时间去做点题目,今天依旧是leetcode. 题目 leetcode 1 两数 ...

  9. bom案例3-放大镜

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  10. fiddler模拟弱网1

    第一步: 首先你得将你的fiddle配置好了,并链接上了移动端. 参考 这篇文章:http://www.cnblogs.com/lijiageng/p/6214162.html     第二步: 使用 ...