编译hadoop过程曲折,还真是不容易,克服种种困难,终于编译成功了。在此,分享下这个编译过程。
1、下载hadoop2.6.5的源码
2、解压后,先看下BUILD.txt文件,该文件详细说明了build注意事项、以及需要的条件
* Unix System * JDK 1.6+ * Maven 3.0 or later * Findbugs 1.3.9 (if running findbugs) * ProtocolBuffer 2.5.0 * CMake 2.6 or newer (if compiling native code) * Zlib devel (if compiling native code) * openssl devel ( if compiling native hadoop-pipes ) * Internet connection for first build (to fetch all Maven and Hadoop dependencies) Building distributions: Create binary distribution without native code and without documentation: $ mvn package -Pdist -DskipTests -Dtar Create binary distribution with native code and with documentation: $ mvn package -Pdist,native,docs -DskipTests -Dtar Create source distribution: $ mvn package -Psrc -DskipTests Create source and binary distributions with native code and documentation: $ mvn package -Pdist,native,docs,src -DskipTests -Dtar Create a local staging version of the website (in /tmp/hadoop-site) $ mvn clean site; mvn site:stage -DstagingDirectory=/tmp/hadoop-site
3、安装CentOS的编译环境
yum install lzo-devel zlib-devel gcc gcc-c++ yum install openssl-devel yum install ncurses-devel yum install autoconf automake libtool cmake
下面是补充的部分(编译过程中会出现各种错误,可能跟以下有关,最好也一起安装了。如果已安装过,yum自动忽略)
sudo yum install kernel-devel sudo yum -y install gcc* sudo yum -y install cmake sudo yum -y install glibc-headers sudo yum -y install gcc-c++ sudo yum -y install zip-devel sudo yum -y install openssl-devel sudo yum -y install svn sudo yum -y install git sudo yum -y install ncurses-devel sudo yum -y install lzo-devel sudo yum -y install autoconf sudo yum -y install libtool sudo yum -y install automake
4、安装maven
tar -zvxf maven-3.0.1.tar.gz
vim /root/.bashrc ==》配置全局变量
5、安装protobuf(需要在root用户下安装)
tar -zvxf protobuf-2.5.0.tar.gz
./configure
make & make check & make install
卸载命令:make uninstall
6、安装findbugs
tar -zvxf findbugs-3.0.0.tar.gz
vim /root/.bashrc ==》配置全局变量
export FINDBUGS_HOME=/usr/local/findbugs-3.0.0
export PATH=$PATH:$FINDBUGS_HOME/bin
7、安装ant(补充)
tar -zvxf ant.1.9.9.tar.gz
vim /root/.bashrc ==》配置全局变量
8、mvn编译命令
mvn clean package -Pdist,native -DskipTests -Dtar -Dmaven.javadoc.skip=true -rf :hadoop-pipes
9、编译过程中出现的报错信息和解决方案
(1)[ERROR] Unresolveable build extension: Plugin org.apache.felix:maven-bundle-plugin:2.4.0 or one of its dependencies could not be resolved: The following artifacts could not be resolved: biz.aQute.bnd:bndlib:jar:2.1.0, org.osgi:org.osgi.core:jar:4.2.0, org.apache.felix:org.apache.felix.bundlerepository:jar:1.6.6, org.easymock:easymock:jar:2.4, org.codehaus.plexus:plexus-interpolation:jar:1.15, org.apache.maven.shared:maven-dependency-tree:jar:2.1, org.codehaus.plexus:plexus-component-annotations:jar:1.5.5, org.eclipse.aether:aether-util:jar:0.9.0.M2: Could not transfer artifact biz.aQute.bnd:bndlib:jar:2.1.0 from/to central (http://repo.maven.apache.org/maven2): Connection to http://repo.maven.apache.org refused: 连接超时 -> [Help 2]
repo.maven.apache.org timeout,原因是国内连接这个URL失败,翻过长城可以顺利连接。
解决办法:
修改 /path-to-maven/conf/setting.xml,参照:http://maven.apache.org/guides/mini/guide-mirror-settings.html,添加mirror: <mirror> <id>UK</id> <name>UK Central</name> <url>http://uk.maven.org/maven2</url> <mirrorOf>central</mirrorOf> </mirror>
(2)Exit code: 1 - /home/lpf/devTool/hadoop-2.6.0-src/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/interfaceStability.java:27: 错误: 意外的结束标记: </ul>
后面加上 -Dmaven.javadoc.skip=true,在stackoverflow上找到的
解决方案:
mvn package -Pdist,native,docs -DskipTests -Dtar -Dmaven.javadoc.skip=true
(3)出现错误:Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (site) on project hadoop-hdfs: An Ant BuildException has occured: input file /opt/hadoop-2.2.0-src/hadoop-hdfs-project/hadoop-hdfs/target/findbugsXml.xml does not exist
解决办法:
去掉docs参数 mvn package -Pdist,native -DskipTests -Dtar -Dmaven.javadoc.skip=true -rf :hadoop-pipes
(4)Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (dist) on project hadoop-hdfs-httpfs: An Ant BuildException has occured: exec returned: 2
解决方案:
找到hadoop-hdfs-project/pom.xml文件,将<!--module>hadoop-hdfs-httpfs</module-->给注释掉
(5)ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (dist) on project hadoop-kms: An Ant BuildException has occured: Can‘t get http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.43/bin/apache-tomcat-6.0.43.tar.gz to /home/liuwl/opt/datas/hadoop-2.5.0-cdh5.3.6/hadoop-common-project/hadoop-kms/downloads/apache-tomcat-6.0.43.tar.gz [ERROR] around Ant part ...<get dest="downloads/apache-tomcat-6.0.43.tar.gz" skipexisting="true" verbose="true" src="http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.43/bin/apache-tomcat-6.0.43.tar.gz"/>... @ 5:182 in /home/liuwl/opt/datas/hadoop-2.5.0-cdh5.3.6/hadoop-common-project/hadoop-kms/target/antrun/build-main.xml
解决方案:
没完整下载到tomcat6.0.43.tar.gz包, 在/hadoop-common-project/hadoop-kms/downloads目录下手动下载tomcat6.0.43.tar.gz包。 地址在hadoop-common-project/hadoop-kms/target/antrun/build-main.xml文件中有。 注意:tomcat版本要看build-main.xml中说明
10、编译完成后,编译包在hadoop-2.6.5-src/hadoop-dist/target/hadoop-2.6.5.tar.gz
libhadoop.so.1.0.0和libhdfs.so.0.0.0在hadoop-2.6.5-src/hadoop-dist/target/hadoop-2.6.5/lib/native下
相关推荐
本文将详细讲解如何在CentOS7.0环境下,使用Hadoop2.6.5版本进行自动化编译,确保你具备运行Java 1.8环境。首先,我们需要理解Hadoop的基本概念及其重要性。 Hadoop是Apache软件基金会开发的一个分布式计算框架,...
总结来说,Hadoop2.6.5在CentOS6.8版本下的集群部署是一个需要精心规划和逐步实施的过程。文档中提及的每一个环节都是构建稳定可靠的Hadoop集群的关键步骤。从硬件的选型到操作系统的调整,再到软件的安装配置,每个...
### Centos6.8 下编译 Hadoop 2.6.4 源码 在Centos6.8系统环境中,无论是32位还是64位版本,编译Hadoop 2.6.4源码都需要一系列的准备工作与...通过以上步骤,你就可以在Centos6.8环境下成功编译Hadoop 2.6.4源码了。
在Linux系统,特别是CentOS 7 64位环境下,编译开源软件如Hadoop是一项常见的任务,这对于理解和优化Hadoop在本地环境中的运行至关重要。Hadoop 2.7.2是一个稳定版本,包含了分布式存储(HDFS)和计算框架...
在本文中,我们将详细探讨如何在CentOS 6.8环境下部署Hadoop 2.6.5集群。Hadoop是一个开源分布式计算框架,主要用于处理和存储海量数据。它由两个主要组件构成:HDFS(Hadoop Distributed File System)和MapReduce...
CentOS-6.4-x86_64下,hadoop-2.6.5,支持snappy的native lib
centos6.7编译hadoop2.6 里面详细的写了过程 。ide为idea,这里注意一下
解决WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable问题。
centos7系统下搭建hadoop-2.6.5大数据集群的详细安装步骤
在本文中,我们将深入探讨如何在Cent OS 6.5操作系统上编译Hadoop 2.6.0的源码,以及如何利用编译生成的lib包目录替换官方下载资源中的对应目录。这个过程对于那些希望自定义Hadoop配置、优化性能或解决特定环境下的...
《Hadoop 2.8.1在CentOS6.5上的源码编译详解》 Hadoop是一个开源的分布式计算框架,广泛应用于大数据处理领域。本文将深入探讨如何在CentOS 6.5操作系统上,从源代码编译Hadoop 2.8.1版本,以获取针对该系统的优化...
本教程将详细介绍如何在CentOS 7系统中从源码编译并部署Hadoop集群环境。整个过程涉及到了多个步骤,包括必要的依赖安装、相关工具的配置以及Hadoop的编译和配置等。 **目标环境:** - 操作系统:64位 CentOS 7 - ...
标题"基于centos6.5 已经编译好的hadoop-2.6.4"指的是在CentOS 6.5操作系统环境下,已经完成了对Hadoop 2.6.4版本的编译工作。这通常意味着用户可以直接在同样环境或相似环境中使用这个编译好的版本,而无需自己进行...
在本文中,我们将深入探讨如何在CentOS 6.7操作系统上编译并安装Hadoop 2.7.2。Hadoop是一个开源的分布式计算框架,由Apache软件基金会开发,用于处理和存储大规模数据集。它主要由两个核心组件构成:Hadoop ...
我编译用到的包(protobuf-2.5.0.tar.gz,findbugs-3.0.1.tar.gz,apache-ant-1.9.13-bin.tar.gz,snappy-1.1.1.tar.gz)和编译的过程详解(遇到的错误)都在压缩包中(hadoop源码请到官网下载)。 背景Hadoop官网...
本文档是教您如何在centos下安装Hadoop,并运行简单实例。很详细,而且很准确。
【标题】"Centos6.5编译64位Hadoop2.7.5.tgz"涉及的关键技术点包括Hadoop、操作系统环境、源码编译以及系统兼容性。Hadoop是一个开源的分布式计算框架,它允许在大量廉价硬件上处理大规模数据。在这个场景中,用户将...
"在 CentOS 6.4 下编译 64 位的 Hadoop 2.4.1" 本文将详细介绍在 CentOS 6.4 下编译 64 位的 Hadoop 2.4.1 的步骤和知识点。 一、环境准备 在开始编译 Hadoop 之前,需要准备以下环境: 1. CentOS 6.4 操作系统 ...
本压缩包文件"centos-6.7编译成功的hadoop-2.6.4"提供了一个在CentOS 6.7环境下编译好的Hadoop 2.6.4版本,使得用户可以直接使用,无需自行经历耗时的编译过程。 **Linux基础知识** Linux操作系统是基于Unix的操作...