hadoop入门一(hadoop编译)

说明:

hadoop版本:hadoop-2.5.0-cdh5.3.6

环境:centos6.4

必须可联网

hadoop 下载网址: http://archive.cloudera.com/cdh5/cdh/5/

其实编译还真就是体力活,按照官方的说明,一步步往下做就可以了,不过总会遇到坑。。

编译步骤:

1、下载源码,解压,本例中解压到 /opt/softwares下:

命令: tar -zxvf hadoop-2.5.0-cdh5.3.6-src.tar.gz -C /opt/softwares

2、进入到解压后的目录,有BUILDING.txt,查看:

命令: cd /opt/softwares/hadoop-2.5.0-cdh5.3.6

cat BUILDING.txt

文档里对编译事项进行了说明,如下图:

要编译hadoop,系统上必须要装这些软件。

(1)系统为linux,已符合条件

(2)JDK版本1.6以上:

本机装JDK1.7.0_67,配置好环境变量。在装JDK之前,建议大家首先看一下系统上有没有装,如果有装,低于1.6版本,最好先把之前的卸载掉再装。

装完之后,配置好环境变量,一定要用 java -version 查看一下是不是对应的版本号。

这里有个坑,如果你之前的版本没有卸载掉,低于1.6版本,那么编译的时候会默认之前的版本,然后就~~~你懂得。。。

(3)安装maven,本机安装maven3.0.5,,官网下载地址:https://archive.apache.org/dist/maven/maven-3/

装完之后,配置环境变量(参考官方说明)

(4)findbugs 这个我没有装,主要是查找bug用的。非必须的。

(5)protocolBuffer ,protoc buffer是hadoop的通信工具。

建议大家环境准备的差不多了,最后再装这个,后面会给出具体说明步骤

(6)安装cmake:

命令:yum install autoconf automake libtool cmake

显示complete即安装完成(下同,不再贴图)

(7)安装 zlib devel :很多系统都已经自带了。

命令:yum install zlib devel

(8)安装ncurses-devel

命令:yum install ncurses-devel

(9)安装openssl-devel

命令:yum install openssl-devel

(10)最后,一定要安装gcc相关组件

命令:yum install gcc*

(11)现在回头来看protobuf的安装:

下载protobuf-2.5.0.tar.gz: http://pan.baidu.com/s/1pJlZubT (这不是我的,参考网址:http://www.tuicool.com/articles/jM7Nn2/)

解压 tar -zxvf protobuf-2.5.0.tar.gz

进入到解压目录 protobuf-2.5.0:

(1)执行 ./configure

(2)执行 make

(3)执行 make check

(4)执行make install

完毕后,输入protoc –version,若返回如下结果,则安装成功:

到此,环境就准备的差不多了。

现在开始编译源码:

回头看BUILDING.txt,编译的命令:

既然编译了,那肯定是需要native本地库的。文档的话,没必要用(坑:最初几次编译,我都用了这个命令,mvn package -Pdist,native,docs -DskipTests -Dtar

一直不成功,都出错在同一个问题上,至今不知怎么解决。后来戴老板说,docs不用生成,没什么作用。改成mvn package -Pdist,native -DskipTests -Dtar,果然编译成功。

进入hadoop-2.5.0-cdh5.3.6目录,执行命令:

mvn package -Pdist,native -DskipTests -Dtar

等待编译成功。

这里说下编译的过程中出现的问题,主要就是下面图中所展示的问题:

一般出现这个问题,可能是由于网络原因,第一次没有下载成功,第二次继续下载,引起冲突。解决方法是,到maven

本地库中删掉这个jar包,重新运行命令编译。编译过程中,由于网络不佳,我这里出现了三次类似的问题,都是同样的方法解决的。

编译成功之后(差不多就是下面的图示O(∩_∩)O),

进入到hadoop-2.5.0-cdh5.3.6/hadoop-dist/target,可以看到编译好的hadoop.如果你之前就装了此版本的hadoop,只不过没有编译,会出现加载不了本地库的警告,那么可以进入到target/hadoop-2.5.0-cdh5.3.6/lib中,拷贝native放在你原来的hadoop对应的lib下,就不会再出现警告。

好啦,就这么多啦,就这么多东西,搞了一整天。。坑

 

时间: 2024-10-07 13:25:45

hadoop入门一(hadoop编译)的相关文章

hadoop入门:hadoop使用shell命令总结

第一部分:Hadoop Bin后面根据项目的实际需要Hadoop Bin  包括:Hadoop  hadoop的Shellhadoop-config.sh 它的作用是对一些变量进行赋值     HADOOP_HOME(hadoop的安装目录).     HADOOP_CONF_DIR(hadoop的配置文件目录).HADOOP_SLAVES(--hosts指定的文件的地址)hadoop-daemon.sh 单节点启动hadoop-daemons.sh 启动slaves.sh和hadoop-dae

大数据hadoop入门之hadoop家族详解

大数据这个词也许几年前你听着还会觉得陌生,但我相信你现在听到hadoop这个词的时候你应该都会觉得"熟悉"!越来越发现身边从事hadoop开发或者是正在学习hadoop的人变多了.作为一个hadoop入门级的新手,你会觉得哪些地方很难呢?运行环境的搭建恐怕就已经足够让新手头疼.如果每一个发行版hadoop都可以做到像大快DKHadoop那样把各种环境搭建集成到一起,一次安装搞定所有,那对于新手来说将是件多么美妙的事情!闲话扯得稍微多了点,回归整体.这篇准备给大家hadoop新入门的朋友

Hadoop入门进阶步步高(四)-测试Hadoop

四.测试Hadoop 一个简单的求每年温度最大值的程序. 1.准备两个文本测试数据 准备两个名为data1.txt及data2.txt的文件,用于做为计算的输入数据,将其放于/home/fenglibin/java/data目录下: data1.txt data2.txt 1999 10 1999 20 1999 25 2000 21 2000 22 2000 18 2000 40 2001 45 2001 65 2002 90 2002 89 2002 70 2003 40 2003 80 1

大数据技术之Hadoop入门

? 第1章 大数据概论 1.1 大数据概念 大数据概念如图2-1 所示. 图2-1 大数据概念 1.2 大数据特点(4V) 大数据特点如图2-2,2-3,2-4,2-5所示 图2-2 大数据特点之大量 图2-3 大数据特点之高速 图2-4 大数据特点之多样 图2-5 大数据特点之低价值密度 1.3 大数据应用场景 大数据应用场景如图2-6,2-7,2-8,2-9,2-10,2-11所示 图2-6 大数据应用场景之物流仓储 图2-7 大数据应用场景之零售 图2-8 大数据应用场景之旅游 图2-9

hadoop入门(3)——hadoop2.0理论基础:安装部署方法

一.hadoop2.0安装部署流程         1.自动安装部署:Ambari.Minos(小米).Cloudera Manager(收费)         2.使用RPM包安装部署:Apache hadoop不支持.HDP与CDH提供         3.使用jar包安装部署:各版本均提供.(初期为了理解hadoop,建议使用这种方式)         部署流程:                 准备硬件(Linux操作系统)                 准备软件安装包,并安装基础软件

Hadoop入门一:Hadoop简介

  从数据爆炸开始...  1.1 第三次工业革命 第一次:18世纪60年代,手工工厂向机器大生产过渡,以蒸汽机的发明和使用为标志. 第二次:19世纪70年代,各种新技术新发明不断被应用于工业生产,以电力的发明使用为标志. 第三次:20世界四五十年代末,以高新技术为代表的新科学技术革命,以原子能.航天技术和电子计算机 为标志. 1.2 信息技术发展带来的数据爆炸 纽约证券所交易    每天 1TB FaceBook一千亿照片  1PB 腾讯 每天 300TB 淘宝 每天 pv20亿 数据量 50

Hadoop入门学习笔记---part4

紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操作,前提是按照<Hadoop入门学习笔记---part2>中的已经在虚拟机中搭建好了Hadoop伪分布环境:并且确定现在linux操作系统中hadoop的几个进程已经完全启动了. 好了,废话不多说!实际的例子走起. 在myeclipse中新建一个java工程: 在项目工程中新建一个lib包用于存放

Hadoop入门学习笔记---part1

随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力,好好做.正是因为选题和hadoop有关,现在正式开始学习hadoop.将笔记整理于此,希望与志同道合的朋友共同交流. 作者:itRed 邮箱:[email protected] 个人博客链接:http://www.cnblogs.com/itred 好了,废话不多说.进入正题!开始hadoop的学习

Hadoop入门进阶步步高(六)-Hadoop1.x与Hadoop2的区别

六.Hadoop1.x与Hadoop2的区别 1.变更介绍 Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更: l HDFS的NameNodes可以以集群的方式布署,增强了NameNodes的水平扩展能力和可用性: l MapReduce将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN(Yet Another Re