hadoop2.4源码编译

Linux环境下编译hadoop2.4

1、jdk的安装

...

检验是否安装成功 java -version、java、javac

2、maven的安装

...

验证安装是否成功   mvn -version

3、protobuf的安装

(0) 安装gcc

#方法一:
sudo apt-get  build-depgcc

#方法二:
sudo apt-get  install  build-essential

#验证安装:
gcc --version

(1)下载

  1. sudo wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

 (2)安装:

然后进入protobuf-2.5.0文件夹,进行如下操作:

$ sudo ./configure
$ sudo make
$ sudo make check
$ sudo make install
$ sudo ldconfig

(3)验证

protoc --version

4.安装openssl库

  1. sudo apt-get install libssl-dev

5.CMake安装

  1. sudo apt-get install cmake

6.ant安装

(1)首先下载ant

(2)解压

  1. tar zxvf apache-ant-1.9.4-bin.tar.gz

 (3)配置环境变量

source /etc/profile

(4).检验安装成功

  1. ant -version

二、编译hadoop2.4

上面准备工作已经做的差不多了,进入hadoop-src/文件夹下,输入下面命令

mvn package -Pdist,native -DskipTests -Dtar

等了40多分钟,ok

在目录~/hadoop-2.4.0-src/hadoop-dist/target下有文件:
hadoop-2.4.0.tar.gz

 

问题总结:

这里还需要在补充:
1.遇到错误1:CMake没有安装

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-
plugin:1.6:run (make) on project hadoop-common: An Ant BuildException has
occured: Execute failed: java.io.IOException: Cannot run program "cmake" (in
directory "/home/wyf/hadoop-2.0.2-alpha-src/hadoop-common-project/hadoop-
common/target/native"): java.io.IOException: error=2, No such file or directory
-> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please
read the following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

解决方法:

CMake没有安装

  1. sudo apt-get install cmake

2.遇到错误2:ant没有安装

ERROR] Failed to execute goal org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-
alpha-3:compile (hdfs) on project hadoop-hdfs: Execution hdfs of goal
org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3:compile failed: Plugin
org.codehaus.mojo.jspc:jspc-maven-plugin:2.0-alpha-3 or one of its dependencies
could not be resolved: Could not transfer artifact ant:ant:jar:1.6.5 from/to
central (http://repo.maven.apache.org/maven2): GET request of:
ant/ant/1.6.5/ant-1.6.5.jar from central failed: Read timed out -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please
read the following articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :hadoop-hdfs

解决:

   安装ant。

3.protobuf版本过低,错误现象

[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.4.0:prot
oc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecut
ionException: ‘protoc --version‘ did not return a version -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionE
xception
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :hadoop-common

hadoop2.4对应的版本是protobuf-2.5.0

解决办法:

按照安装步骤中protobuf-2.5.0的安装即可

时间: 2024-12-18 22:14:01

hadoop2.4源码编译的相关文章

Hadoop2.x源码编译

具体目录规范,如下图 : /opt/modules # 大型软件的安装路径  /opt/softwares # 软件源程序安装包上传路径  /opt/tools # 工具安装路径  /opt/datas #数据文件存放路径 1. maven的安装 a.在 /opt/modules目录下创建maven b.  将apache-maven-3.0.5.tar.gz级压缩到/opt/maven/modules/maven里面 c. 配置环境变量,# sudo vi /etc/profile d.验证环

Hadoop源码编译过程

一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通过本地库,Hadoop可以更加高效地执行某一些操作. native目录是本地库,位于hadoop-2.x.x/lib/native目录下,仅支持linux和unix操作系统. hadoop中的zlib和gzip模块会加载本地库,如果加载失败,会提示: 16/07/06 12:18:24 WARN u

CentOS6.5 Linux上面编译Hadoop2.4源码

今天来说说编译hadoop源码的事情吧~ 1.首先下载源码 地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.4.0/ 2.加压tar包到指定文件夹:/home/hadoop/soft/hadoop tar zxvf hadoop-2.4.0-src.tar.gz 3.Linux编译环境准备 java环境准备 参照:http://blog.csdn.net/enson16855/article/details/8708574 ma

Win7 32bit下hadoop2.5.1源码编译与平台搭建中遇到的各种错误

本文从一个小白在安装hadoop遇到的各种困难和错误说起,也希望得到大神的指点. 首先hadoop更新很快,最新的是hadoop2.5.1,因此就介绍下在安装2.5.1时遇到的各种困难. 如果直接准备在系统上安装binary版本的,可以参考http://www.cnblogs.com/kinglau/p/3270160.html.在下载好hadoop文件时,一定要注意下载的hadoop版本是否与本机的系统版本相对应,如32bit的还是64bit的,否则在执行start-all.sh时会报错.我就

CentOS 6.4 64位 源码编译hadoop 2.2.0

CentOS 6.4 64位 源码编译hadoop 2.2.0 搭建环境:Centos 6.4 64bit 1.安装JDK 参考这里2.安装mavenmaven官方下载地址,可以选择源码编码安装,这里就直接下载编译好的wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip解压文件后,同样在/etc/profie里配置环境变量vim /etc/profieexport

Hadoop,HBase,Zookeeper源码编译并导入eclipse

基本理念:尽可能的参考官方英文文档 Hadoop:  http://wiki.apache.org/hadoop/FrontPage HBase:  http://hbase.apache.org/book.html Zookeeper:  https://cwiki.apache.org/confluence/display/ZOOKEEPER/Index 环境介绍 Ubuntu 14.04LTS, 32位 接下来则按照Hadoop,HBase,Zookeeper顺序来进行源码编译,建立文件夹

从零教你如何获取hadoop2.4源码并使用eclipse关联hadoop2.4源码

从零教你如何获取hadoop2.4源码并使用eclipse关联hadoop2.4源码http://www.aboutyun.com/thread-8211-1-1.html(出处: about云开发) 问题导读:1.如何通过官网src包,获取hadoop的全部代码2.通过什么样的操作,可以查看hadoop某个函数或则类的实现?3.maven的作用是什么? 我们如果想搞开发,研究源码对我们的帮助很大.不明白原理就如同黑盒子,遇到问题,我们也摸不着思路.所以这里交给大家一.如何获取源码二.如何关联源

Hadoop-CDH源码编译

* Hadoop-CDH源码编译 这一节我们主要讲解一下根据CDH源码包手动编译的过程,至于为什么要使用CDH,前几节已经说明,那为什么又要自己手动编译,因为CDH的5.3.6对应的Hadoop2.5.0没有native动态库,很多压缩功能无法使用. * 首先源码包下载: http://archive.cloudera.com/cdh5/cdh/5/ 找到对应的 :hadoop-2.5.0-cdh5.3.6-src.tar.gz开始下载即可. * 下载完成后解压该软件包,注意目录权限问题 解压后

Spark 2.1.1 源码编译

Spark 2.1.1 源码编译 标签(空格分隔): Spark Spark 源码编译 环境准备与起因 由于线上Spark On Yarn Spark Streaming程序在消费kafka 写入HDFS table 使用Partition by 和 Savemode.append,在一定条件下导致写入HDFS 超过了处理批次.经过排查应该与 Spark 写入parquet 文件追加时候元数据检查所导致,修改源码后需要对其进行编译. 参考Spark的官方文档 根据Spark官方文档编译模块的介绍