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. xlwings结合dataframe数据的写入

    一.代码 import xlwings as xw import pandas as pd xl_path=r'***' df_path=r'***' df=pd.read_excel(df_path ...

  2. [NOIP]模拟17 题解

    A.入阵曲 部分分很肥,正解写得常数稍大就会和暴力一个分,考试的时候写什么自己考虑.(滑稽 部分分的循环边界手抖写错了-25 (原本暴力分中的10分都没了啊啊啊) 没写挂的话应该有75,其实就是二维前 ...

  3. go routine

    无缓冲 channel 是在多个 goroutine 之间同步很棒的工具. 当在 Go 中用 ch := make ( chan bool ) 创建 chennel 时,bool 型的 无缓冲 cha ...

  4. flask json

    导入 from flask import Flask,jsonify 1.列表 def index(): arr=['mkdir','md','touch'] return jsonify(arr) ...

  5. nginx填坑补充(nginx根据上下文跳转ip或者域名)

    今天有一个需求,要根据上下文调到不同的ip或域名地址,使用上下文做域名跳转的时候,proxy_pass域名后面一定要带‘/’否则会把nginx的上下文自动带入,这样就行. location ^~ /d ...

  6. 海外版本Google登录

    海外版本: 1.安裝谷歌安裝器:手机浏览器搜索“谷歌安装器”,安装酷安的好一些,地址: https://www.coolapk.com/apk/com.goplaycn.googleinstall 2 ...

  7. gthub获得star指南

    https://mp.weixin.qq.com/s/EmyK1Fm5MDWQcrUxP8Tcgg

  8. 面向对象(五)——isinstance与issubclass、反射、内置方法

    isinstance与issubclass.反射.内置方法 一.isinstance与issubclass方法 1.isinstance是用来判断对象是否是某个类 isinstance(obj,cla ...

  9. 详解Telecom

    学习目标: 掌握Telecom入口和分析方法 总结和演进Telecom交互模型 掌握Listener消息回调机制 学习CallsManager 为什么选择Telecom分析? 这是由于在Android ...

  10. Apriori-关联规则挖掘算法

    Apriori算法采用的是自底向上的方法,从1-频繁集开始,逐步找出高阶频繁集. 它的基本流程是:第一次扫描交易数据库D时,产生1- 频繁集.在此基础上经过连接.修剪产生2-频繁集.以此类推,直到无法 ...