1、安装JDK

  JDK:我这里 安装的是jdk1.6.0_23

    1.1:给文件执行的权限chmod u+x jdk-6u23-linux-x64.bin

    1.2: ./jdk-6u23-linux-x64.bin ,会生成一个jdk1.6.0_23 的文件

    1.3: 在/etc/profile 文件配置添加环境变量即可

export JAVA_HOME=/home/hadoop/jdk1.6.0_23
export PATH=$PATH:$JAVA_HOME/bin

    输入java-version 如果有版本出来就说明成功。

  2、安装maven

    下载安装包后解压 在/etc/profile 配置路劲即可

    

export MAVEN_HOME=/home/hadoop/apache-maven-3.2.1
export PATH=$PATH:$MAVEN_HOME/bin

  输入  mvn -v

[hadoop@master ~]$ mvn -v
Apache Maven 3.2.1 (ea8b2b07643dbb1b84b6d16e1f08391b666bc1e9; 2014-02-14T09:37:52-08:00)
Maven home: /home/hadoop/apache-maven-3.2.1
Java version: 1.6.0_23, vendor: Sun Microsystems Inc.
Java home: /home/hadoop/jdk1.6.0_23/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix"

  说明安装成功

  3、gcc,g++

   参照我前面一片文章 linux centos 装g++安装不了

  4、protoc

    我安装的是protobuf-2.4.1

    tar zxvf protobuf-2.4.1.tar.gz
    cd protobuf-2.4.1
    ./configure  && make && make check && make install

    环境变量配置:

 export PROTOC_HOME=/home/hadoop/protobuf-2.4.1
 export PATH=$PROTOC_HOME/src:$PATH

    需要注意的是2.4.1版本 没有 目录bin用src代替,这个我折腾了很久。

    

[hadoop@master ~]$ protoc --version
libprotoc 2.4.1

  说明安装成功  

  5、其他依赖  

顺序执行以下命令
yum install cmake
yum install openssl-devel
yum install ncurses-devel

  6、ant

  网上有些资料说要安装ant,我没有安装也发现可以照样编译

7、 编译CDH4.5源码

   tar -zxvf hadoop-2.0.0-cdh4.5.0.tar.gz

   进入目录 cd $HADOOP_HOME/src ,后执行 mvn package -DskipTests -Pdist,native,docs     (编译的时候要等一段时间)

  第一次执行的时候遇到一个错误,后面删掉整个文件重新执行就可以

  http://pan.baidu.com/s/1hqJys9u 编译完后的下载地址

  查看日志提示编译完成:

[INFO] Apache Hadoop Rumen ............................... SUCCESS [  6.738 s]
[INFO] Apache Hadoop Gridmix ............................. SUCCESS [ 4.798 s]
[INFO] Apache Hadoop Data Join ........................... SUCCESS [ 2.669 s]
[INFO] Apache Hadoop Extras .............................. SUCCESS [ 3.134 s]
[INFO] Apache Hadoop Pipes ............................... SUCCESS [ 18.866 s]
[INFO] Apache Hadoop Tools Dist .......................... SUCCESS [ 3.303 s]
[INFO] Apache Hadoop Tools ............................... SUCCESS [ 0.027 s]
[INFO] Apache Hadoop Distribution ........................ SUCCESS [ 51.497 s]
[INFO] Apache Hadoop Client .............................. SUCCESS [ 16.715 s]
[INFO] Apache Hadoop Mini-Cluster ........................ SUCCESS [ 4.659 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14:12 min
[INFO] Finished at: 2014-07-23T00:11:20-08:00
[INFO] Final Memory: 93M/238M

文件位置在: ../src/hadoop-dist/target 目錄下 

 遇到异常:第一次执行的时候遇到异常:

[ERROR] Failed to execute goal org.apache.avro:avro-maven-plugin:1.7.4:schema
(generate-avro-test-sources) on project hadoop-common:
Execution generate-avro-test-sources of goal org.apache.avro:avro-maven-plugin:1.7.4:schema
failed: Plugin org.apache.avro:avro-maven-plugin:1.7.4 or one of its dependencies
could not be resolved: Failed to collect dependencies at org.apache.avro:avro-maven-plugin:jar:1.7.4 ->
org.apache.avro:avro-compiler:jar:1.7.4 -> commons-lang:commons-lang:jar:2.6: Failed to read artifact
descriptor for commons-lang:commons-lang:jar:2.6: Could not transfer
artifact org.apache.commons:commons-parent:pom:17 from/to central
(http://repo.maven.apache.org/maven2): GET request of: org/apache/commons/commons-parent/17/commons-parent-17.pom from central
failed: Connection reset -> [Help 1]
这个异常没有解决

    

linux 下 CDH4.5编译的更多相关文章

  1. Linux下指定版本编译安装LAMP

    说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...

  2. Linux下使用javac编译

    Linux下使用javac编译Hadoop程序 首先要配置好Hadoop, 给出两个教程 Hadoop安装教程单机/伪分布式配置Hadoop2.6.0/Ubuntu14.04 Hadoop集群安装配置 ...

  3. Linux下使用NDK编译FFMPEG(libstagefright)

    这个月要负责一个项目,使用FFMPEG渲染视频,主要是Android端的,由于性能要求,要使用硬解码,但网上大多数教程都是没有libstagefright的,所以个人觉得,生成的so库文件也是没有开启 ...

  4. 在ubunt14.04(linux)下利用cmake编译运行opencv程序

    今天在电脑上安装好了opencv环境,迫不及待的想写个程序来测试一下.但是在windows下我们用vs等集成开发工具.可是在linux下我们应该怎么办呢? 这里我们用了opencv推荐的cmake来编 ...

  5. Linux下php5.3编译oracle客户端

    因项目需要在linux下进行php5.3的oracle客户端编译,简要介绍一下步骤及走过的弯路. 1.下载Oracle客户端程序包,其中包含OCI.OCCI和JDBC-OCI等相关文件. 1.1下载文 ...

  6. Linux下源码编译安装rpy2

    R(又称R语言)是一款开源的跨平台的数值统计和数值图形化展现工具.rpy2是Python直接调用R的第三方库,它可以实现使用python读取R的对象.调用R的方法以及Python与R数据结构转换等.这 ...

  7. 在Linux下使用gcc编译mesa文件报undefined reference to symbol 'sin@@GLIBC_2.2.5和DSO missing from command line两个错误的解决方案

    一.概述 在Linux系统下使用gcc编译用C语言写的mesa的示例程序. 环境:Ubuntu Server 18.04.1 二.问题的出现 在Ubuntu下安装好mesa所需的库文件,将目标文件从g ...

  8. Linux下编辑、编译、调试命令总结——gcc和gdb描述

    GCC gcc是linux系统集成的编译器.在linux环境下编辑程序,首先需要克服的便是没有集成开发环境的一键式操作所带来的麻烦.这其中涉及命令行操作.编译选项的设定.文件依赖关系的书写(makef ...

  9. linux下使用mingw编译NSIS-3.03

    简述 最近在研究使用NSIS做安装包,语法不算复杂,插件也很多,中文资料也不少,还挺好用的.先后用NSIS做出了安装和卸载需要输入密码,通过自定义页面实现安装时候选择多个目录.安装的时候输入配置文件信 ...

随机推荐

  1. delphi 文件夹操作

    文件的拖放和打开拖拽 user shellapi type TForm1 = class(TForm) ListView1: TListView; procedure FormCreate(Sende ...

  2. hive建模方法

    转自:https://www.jianshu.com/p/8378b80e4b21 概述数据仓库这个概念是由 Bill Inmon 所提出的,其功能是将组织通过联机事务处理(OLTP)所积累的大量的资 ...

  3. BZOJ 4516: [Sdoi2016]生成魔咒(后缀数组)

    传送门 解题思路 题目其实就是动态维护本质不同的串的个数.考虑到只有加数字的操作,所以可以用后缀数组.题目是每次往后加数字,这样不好处理,因为每次加数字之后所有的后缀都会改变.所以要转化一下思路,就是 ...

  4. thinkphp ajax调用demo

    http://files.cnblogs.com/files/jxkshu/tp_ckgd.rar

  5. 树莓派安装omv

    1.Win32DiskImager写入光盘镜像 2.进入omv页面 设置 ip 端口号 ,设置时间,设置ssh打开,设置会话超时时间 ××××设置 dns  很重要!! #这里用的是阿里云的DNS服务 ...

  6. Airbnb React/JSX 编码规范

    Airbnb React/JSX 编码规范 算是最合理的React/JSX编码规范之一了 内容目录 基本规范 Class vs React.createClass vs stateless 命名 声明 ...

  7. 剑指offer——03二维数组中的查找

    题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1].不 ...

  8. DDOS到底是什么,怎么预防,看看就明白了

    可怕的DDOS怎么预防 分布式拒绝服务(DDoS: distributed denial-of-service)攻击是恶意破坏目标服务器.服务或网络的正常通信量的企图,其方法是用大量Internet通 ...

  9. ArrayList、Vector、LinkedList的区别

    ArrayList.Vector.LinkedList的区别 1.底层数据结构: ArrayList底层实现是动态数组 Vector底层实现是动态数组 LinkedList底层实现是双链表  2.扩容 ...

  10. Async await 异步编程说明

    希望在编程上有些许提高所以 最近连续2篇博客都在说明多线程和异步编程的使用,异步和多线程之间区别请自行百度,因为理解不是特别透彻就不在叙述以免误导大家,这里写下新研究整理 task  和 await ...