CentOS 6.4 编译 Hadoop 2.5.1
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。
http://www.cnblogs.com/shijiaqi1066/p/4058956.html
1 前提准备
建议关闭编译机器上的防火墙与SELinux。
需要保证编译机器可以访问互联网。
卸载机器上的OpenJDK,并安装上64位的Oracle JDK。此处选用JDK7。
注意:经过实践,直到Hadoop 2.6.3使用JDK8进行编译依然存在出现各种问题。理论上应该可以解决,可是实在不够方便。所以请使用jdk7进行编译!
2 下载所需软件包
2.1 下载Hadoop
当前最新Hadoop稳定版本为Hadoop 2.5.1。下载相应的hadoop源码包。

解压Hadoop:tar -zxvf hadoop-2.5.1-src.tar.gz
解压后目录为:

查看安装说明BUILDING.txt。显示如下:

说明:
- 必须使用JDK1.6或更高版本。
- Maven必须3.0或更高版本。
- 其中Google Protobuf的版本必须为2.5.0。
- Findbugs用于编译文档,不一定需要使用。
- CMake为2.6或更高版本。
2.2 下载Maven

2.3 下载Google Protobuf
Protobuf 2.5依然存在于Google Code之上,最新版本已经在GitHub上了。(打开Google Code可能需要翻墙。)

Ps:最近一次(2016年12月)编译protobuf发现GoogleCode上的protobuf已经不提供了。全部移植到了GitHub上,可GitHub上的版本编译很麻烦。所以只能从网上下载一个其他人备份的Protobuf2.5.0。至于GitHub上的那个版本,以后我会花点时间来解决的。
3 安装与编译
3.1 安装Maven
解压Maven:tar -zxvf apache-maven-3.2.3-bin.tar.gz
将解压的文件移动至 /usr/local/maven3/,此即maven的HOME目录。

将Maven添加至环境变量。编辑/etc/profile文件,在文件末尾添加环境变量。
export JAVA_HOME=/usr/local/jdk7
export MAVEN_HOME=/usr/local/maven3
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
刷新环境变量:source /etc/profile
测试Maven是否安装成功,查询Maven版本命令:mvn -version
若输出版本信息,则表示安装成功。
3.2 安装编译工具
首选需要安装编译工具
yum install gcc
yum install gcc-c++
yum install make
或者直接安装RPM软件组:
yum -y groupinstall "Development tools" "Server Platform Development" "Desktop Platform Development"
等待一段下载安装的时间。
3.3 安装Google Protobuf
解压:tar -zxvf protobuf-2.5.0.tar.gz
进入解压后的目录,输入编译指令
./configure
make
make install
等待编译完成。
3.4 安装CMake与其他软件
yum install cmake
yum install openssl-devel (若安装了Development tools则不需要再安装此工具。)
yum install ncurses-devel (若安装了Development tools则不需要再安装此工具。)
3.5 开始编译Hadoop
进入到Hadoop解压目录中,即src目录。
在Hadoop2.2版本中需要修改hadoop-common-project/hadoop-auth/pom.xml 中的一个Bug。
pom.xml文件中缺少了一个jetty-util的依赖。
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
带该问题在Hadoop2.5中早就修改了。
在src目录下,运行Maven命令:mvn package -DskipTests -Pdist,native
注意:
- 建议关闭防火墙和SELinux。
- 使用Maven下载Jar包可能需要配置Maven的镜像。
- 请耐心等待编译完成。
编译成功,看到Maven输出SUCCESS。

编译完成后,编译的结果被放到hadoop-dist/target中。

其中hadoop-2.5.1即可用于安装的hadoop 。
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处。LaplaceDemon/SJQ。
http://www.cnblogs.com/shijiaqi1066/p/4058956.html
CentOS 6.4 编译 Hadoop 2.5.1的更多相关文章
- 64位centos 下编译 hadoop 2.6.0 源码
64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...
- CentOS 6.4 64位 源码编译hadoop 2.2.0
搭建环境:Centos 6.4 64bit 1.安装JDK 参考这里2.安装mavenmaven官方下载地址,可以选择源码编码安装,这里就直接下载编译好的wget http://mirror.bit. ...
- Centos编译Hadoop 2.x 源码
1. 前言 Hadoop-2.4.0的源码目录下有个BUILDING.txt文件,它介绍了如何在Linux和Windows下编译源代码,本文基本是遵照BUILDING.txt指示来操作的,这里再做一下 ...
- Centos 6.5 X64 环境下编译 hadoop 2.6.0 --已验证
Centos 6.5 x64 hadoop 2.6.0 jdk 1.7 protobuf-2.5.0 maven-3.0.5 set environment export JAVA_HOME=/hom ...
- 64位CentOS上编译 Hadoop 2.2.0
下载了Hadoop预编译好的二进制包,hadoop-2.2.0.tar.gz,启动起来后.总是出现这样的警告: WARN util.NativeCodeLoader: Unable to load n ...
- Hadoop2 自己动手编译Hadoop的eclipse插件
前言: 毕业两年了,之前的工作一直没有接触过大数据的东西,对hadoop等比较陌生,所以最近开始学习了.对于我这样第一次学的人,过程还是充满了很多疑惑和不解的,不过我采取的策略是还是先让环 ...
- 编译Hadoop
Apache Hadoop 生态圈软件下载地址:http://archive.apache.org/dist/hadoop/hadoop下载地址 http://archive.apache.org/d ...
- mac OS X Yosemite 上编译hadoop 2.6.0/2.7.0及TEZ 0.5.2/0.7.0 注意事项
1.jdk 1.7问题 hadoop 2.7.0必须要求jdk 1.7.0,而oracle官网已经声明,jdk 1.7 以后不准备再提供更新了,所以趁现在还能下载,赶紧去down一个mac版吧 htt ...
- 编译Hadoop 2.7.2支持压缩 转
hadoop Native Shared Libraries 使得Hadoop可以使用多种压缩编码算法,来提高数据的io处理性能.不同的压缩库需要依赖到很多Linux本地共享库文件,社区提供的二进制安 ...
随机推荐
- [译]36 Days of Web Testing(四)
Day 19: UX 用户体验 Why ? 最近UX变得越来越火,用户提现往往会直接联想到易用性和设计. 在我看来,UX不仅仅是这两点.UX, User Experience ,对我而言,不单单是产 ...
- iOS:导航栏的工具条和导航条
功能:用NAV视图控制器打开新的视图,默认工具条和导航条隐藏,双击显示之 // // main.m // Hello // // Created by lishujun on 14-8-28. // ...
- 解决类型“System.Web.UI.UpdatePanel”不具有名为“Gridview”的公共属性,
类型“system.web.ui.updatepanel” 不具有名为“XXX”的公共属性,其实原因很简单.就是少了一个<ContentTemplate></ContentTempl ...
- [BZOJ 1221] [HNOI2001] 软件开发 【费用流 || 三分】
题目链接:BZOJ - 1221 题目分析 算法一:最小费用最大流 首先这是一道经典的网络流问题.每天建立两个节点,一个 i 表示使用毛巾,一个 i' 表示这天用过的毛巾. 然后 i 向 T 连 Ai ...
- C++ Unicode SBCS 函数对照表,以备日后查阅(很全)
C++ Unicode SBCS 函数对照表,以备日后查阅 Generic SBCS UNICODE TCHAR char wchar_t _TEOF EOF WEOF _TINT int wint_ ...
- Android开源项目发现--- 工具类Log篇(持续更新)
1.Catlog 手机端log查看工具,支持不同颜色显示.关键字过滤.级别过滤.进程id过滤.录制功能等 项目地址:https://github.com/nolanlawson/Catlog 在线演示 ...
- (转载)mysql group by 用法解析(详细)
(转载)http://blog.tianya.cn/blogger/post_read.asp?BlogID=4221189&PostID=47881614 mysql distinct 去重 ...
- (转载)函数:mysqli_query和mysql_query有何区别?
(转载)http://wzan315.blog.163.com/blog/static/37192636201241732045299/ Mysqli.dll是一个允许以对象的方式或者过程操作数据库的 ...
- oracle查询语句【转载】
建立的表: 表名:REGIONS 序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 REGION_ID NUMBER 是 否 2 REGION_NAME VARCHAR2 25 ...
- Unity3d 超级采样抗锯齿 Super Sampling Anti-Aliasing
Super Sampling Anti-AliasingSSAA算是在众多抗锯齿算法中比较昂贵的一种了,年代也比较久远,但是方法比较简单,主要概括为两步1. 查找边缘2. 模糊边缘这是一种 ...