使用maven在linux上对hadoop 2.2进行编译
2014-09-24 14:46
302 查看
使用maven在linux上对hadoop 2.2进行编译0、环境介绍:
Hadoop信息:Version: 2.2下载地址:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/源码包:hadoop-2.2.0-src.tar.gz
软件包:hadoop-2.2.0.tar.gz
Os环境:[root@carefree ~]# lsb_release -aLSB Version::base-4.0-amd64:base-4.0-noarch:core-4.0Distributor ID:CentOSDescription:CentOS release 6.4 (Final)Release:6.4Codename:Final解压源码包:
其中BUILDING.txt文件对于编译做了一个说明,现在就开始着手准备编译工作。1、前提条件
* 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)* Internet connection for first build (to fetch all Maven and Hadoop dependencies) (ps:需要有网络连接)
2、配置需要的软件环境
前置条件中提到的os要求我们已经满足,需要连接网络添加好即可。其他的软件包如下:
使用tar -zxvf packageName 解压上面的软件包。 对于maven、jdk、findbugs只需要在环境变量中配置好对应的目录即可。
通过以上的步骤我们即可完成前置条件的配置工作。3、2.2的bug
参考链接:https://issues.apache.org/jira/browse/HADOOP-10110 Hadoop 2.2有一个bug会影响编译,我们这里提前做一个处理,处理方法:
4、编译
Maven的具体编译命令我们在BUILDING.txt中可以找到,如下:Building distributions:Create binary distribution without native code and without documentation: $ mvn package -Pdist -DskipTests -DtarCreate binary distribution with native code and with documentation: $ mvn package -Pdist,native,docs -DskipTests -DtarCreate source distribution: $ mvn package -Psrc -DskipTestsCreate source and binary distributions with native code and documentation: $ mvn package -Pdist,native,docs,src -DskipTests -DtarCreate a local staging version of the website (in /tmp/hadoop-site) $mvn clean site; mvn site:stage -DstagingDirectory=/tmp/hadoop-site 这里我们使用mvn package -Pdist,native,docs,src -DskipTests -Dtar进行编译,在编译的过程中可能由于网络中断,需要重复运行该命令,在这里我们可以进入子包来进行部门编译(相当于分别下载依赖的包),最后再hadoop-2.2.0-src目录下运行该命令。 5、编译完成
编译完成之后,我们进入hadoop-2.2.0-src/hadoop-dist目录下,可以发现一个target目录,在里面我们即可找到编译好的压缩包。hadoop-2.2.0.tar.gz
本文出自 “阿布” 博客,谢绝转载!
Hadoop信息:Version: 2.2下载地址:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/源码包:hadoop-2.2.0-src.tar.gz
软件包:hadoop-2.2.0.tar.gz
Os环境:[root@carefree ~]# lsb_release -aLSB Version::base-4.0-amd64:base-4.0-noarch:core-4.0Distributor ID:CentOSDescription:CentOS release 6.4 (Final)Release:6.4Codename:Final解压源码包:
tar -zxvf hadoop-2.2.0-src.tar.gz
其中BUILDING.txt文件对于编译做了一个说明,现在就开始着手准备编译工作。1、前提条件
* 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)* Internet connection for first build (to fetch all Maven and Hadoop dependencies) (ps:需要有网络连接)
2、配置需要的软件环境
前置条件中提到的os要求我们已经满足,需要连接网络添加好即可。其他的软件包如下:
apache-maven-3.0.5-bin.tar.gz cmake-3.0.2.tar.gz findbugs-2.0.3.tar.gz hadoop-2.2.0-src.tar.gz jdk-7u51-linux-x64.tar.gz protobuf-2.5.0.tar.gz
使用tar -zxvf packageName 解压上面的软件包。 对于maven、jdk、findbugs只需要在环境变量中配置好对应的目录即可。
vim /etc/profile export MAVEN_HOME=/u01/app/apache-maven-3.0.5 export JAVA_HOME=/u01/app/jdk1.7.0_51 export FINDBUGS_HOME1=/u01/app/findbugs-2.0.3 export PATH=${FINDBUGS_HOME1}/bin:${JAVA_HOME}/bin:${MAVEN_HOME}/bin:$PATHCmake的安装可以参考其中的README.txt文件,使用以下命令即可完成安装:./bootstrap && make && make installprotobuf的安装参考包中的README.txt文件,使用以下命令即可完成安装:
$ ./configure $ make $ make check $ make install
通过以上的步骤我们即可完成前置条件的配置工作。3、2.2的bug
参考链接:https://issues.apache.org/jira/browse/HADOOP-10110 Hadoop 2.2有一个bug会影响编译,我们这里提前做一个处理,处理方法:
在hadoop-common-project/hadoop-auth/pom.xml文件中 <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty</artifactId> <scope>test</scope> </dependency> 后边添加 <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-util</artifactId> <scope>test</scope> </dependency> 在hadoop-hdfs-project/hadoop-hdfs/pom.xml文件中 <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <excludePackageNames>org.apache.hadoop.hdfs.protocol.proto</excludePackageNames> </configuration> 后边加上 <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions>
4、编译
Maven的具体编译命令我们在BUILDING.txt中可以找到,如下:Building distributions:Create binary distribution without native code and without documentation: $ mvn package -Pdist -DskipTests -DtarCreate binary distribution with native code and with documentation: $ mvn package -Pdist,native,docs -DskipTests -DtarCreate source distribution: $ mvn package -Psrc -DskipTestsCreate source and binary distributions with native code and documentation: $ mvn package -Pdist,native,docs,src -DskipTests -DtarCreate a local staging version of the website (in /tmp/hadoop-site) $mvn clean site; mvn site:stage -DstagingDirectory=/tmp/hadoop-site 这里我们使用mvn package -Pdist,native,docs,src -DskipTests -Dtar进行编译,在编译的过程中可能由于网络中断,需要重复运行该命令,在这里我们可以进入子包来进行部门编译(相当于分别下载依赖的包),最后再hadoop-2.2.0-src目录下运行该命令。 5、编译完成
编译完成之后,我们进入hadoop-2.2.0-src/hadoop-dist目录下,可以发现一个target目录,在里面我们即可找到编译好的压缩包。hadoop-2.2.0.tar.gz
本文出自 “阿布” 博客,谢绝转载!
相关文章推荐
- 使用Maven进行Hadoop源代码编译
- 使用 Linux 和 Hadoop 进行分布式计算
- Maven的使用方法:在服务器上进行自动编译时的发布(deploy)
- SVN checkout hadoop源码及Maven进行Hadoop源代码编译步骤
- Linux系统平台下关于GCC编译及使用的方法(-Werror,它要求GCC将所有的警告当成错误进行处理 )
- 使用Maven将Hadoop2.2.0源码编译成Eclipse项目
- Linux 环境下部署Hadoop 2.x,建议尝试64位系统下进行本地编译的安装方式
- 在Linux平台上使用Cmake进行交叉编译替代嵌入式平台所使用的Makefile
- Linux下使用MyEclipse进行Hadoop的开发
- 使用 Linux 和 Hadoop 进行分布式计算
- 使用 Linux 和 Hadoop 进行分布式计算
- Linux系统平台下关于GCC编译及使用的方法 (-Werror,它要求GCC将所有的警告当成错误进行处理
- 使用Linux 和Hadoop 进行分布式计算
- maven2学习总结(4.生命周期和使用Maven进行编译)
- 使用Maven将Hadoop2.2.0源码编译成Eclipse项目
- 使用Linux和Hadoop进行分布式计算(版主精简)
- linux下使用libiconv进行汉字编码问题的处理-----libiconv静态库的编译
- 使用 Linux 和 Hadoop 进行分布式计算
- maven系列学习之二:maven初体验-简单使用maven进行测试,编译、打包和运行
- linux使用autotools进行编译