目录

准备工作

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. 线程同步介绍及 生产者消费者问题举例 C#版

    现在有五个工人在果园摘水果,一次只能摘一个,摘下的水果放入一个框中,这种框最多只能装50个橘子,一共有两个这样的框.当一个工人装框时,其他工人不能在使用这个框.当两个框都装满了,工人只有等框里有剩余位 ...

  2. golang中的GOPATH使用和简单项目配置

    GOPATH 是 Go 语言的工作目录,他的值可以是一个目录路径,也可以是多个目录路径,每个目录都代表 go 语言的一个工作区. 我们开发 Golang 项目时,需要依赖一些别的代码包,这些包的存放路 ...

  3. java继承子父类构造函数-子类的实例化过程

    1 /* 2 * 子父类中的构造函数的特点. 3 * 在子类构造对象时,发现,访问子类构造函数时,父类也运行了. 4 * 为什么呢? 5 * 原因是:在子类的构造函数中第一行有一个默认的隐式语句.su ...

  4. python3 .format()函数

    Python 3.5.2实验 >>> print('{0},{1}'.format('kzc',18) ) kzc,18 >>> print('{},{}'.for ...

  5. Tomcat访问项目出现HTTP状态404-未找到,类型 状态报告 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。Apache Tomcat/9.0.40

    错误提示如图,无任何消息提示,控制台也没有错误. 解决方法: IDEA,上方菜单栏点击Run–>Edit Configurations-,选择Deployment,将Application co ...

  6. kubernetes之添加删除node

    添加node 1.master生成token [root@node-01 ~]# kubeadm token create --print-join-command kubeadm join 172. ...

  7. 前缀函数与Z函数介绍

    字符串算法果然玄学=_= 参考资料: OI Wiki:前缀函数与KMP算法 OI Wiki:Z函数(扩展KMP) 0. 约定 字符串的下标从 \(0\) 开始.\(|s|\) 表示字符串 \(s\) ...

  8. Python 序列类型小结

    序列是python中最基本的数据结构. 序列中每一个元素都有其对应的索引,索引是从0开始,0,1,2......依次类推 python中的序列类型有:字符串str.列表list.元组tuple.Uni ...

  9. vue之keep-alive的使用

    keep-alive:是vue内置的一个组件,可以使被包含的组件保留状态或避免重新渲染.有两个生命周期函数:activated.deachtivated.在vue 2.1.0版本后新增了两个属性:in ...

  10. Vue.js的组件(slot/动态组件等)、单文件组件、递归组件使用

    一.组件 1> 组件命名方式有两种(注意:在DOM模板中只有kebab-case命名方法才生效): html中引用组件: <!-- 在DOM模板中,只有 kebab-case命名才生效 - ...