Hadoop 2.3.0-cdh5.1.0重编译

Hadoop版本有很多,这里我选择的是cdh版本。cdh是Cloudera公司在Apache原版基础经过加工的东西。chd具体的下载地址为:

http://archive-primary.cloudera.com/cdh5/cdh/5/

版本信息如下:

Hadoop:Hadoop 2.3.0-cdh5.1.0

JDK:1.7.0_79

Maven:apache-maven-3.2.5(3.3.1以及更高版本必须在JDK1.7以上)

Protobuf:protobuf-2.5.0

Ant:1.7.1

1.安装Maven

Maven可以自己到Maven官网上下载(http://maven.apache.org/download.cgi)。需要注意的是:如果JDK是1.6及其以下的,那Maven最多只能下载到3.2.5,如果下载3.3.1及其更高版本就必须要1.7的JDK。

2.安装Protobuf

Protobuf的安装参见:http://www.tuicool.com/articles/jM7Nn2,安装过程也很简单。

3.安装其他需要的组件

还需要安装ant、gcc等组件,运行如下命令,会根据需要自己到网上下载安装。

yum install autoconf automake libtool ant gcc gcc-c++ make cmake openssl-devel ncurses-devel

如果失败就多试几次。如果一直失败可考虑自己上网下载然后手动安装。具体流程为:Windows上网下载ftp传给Linux在Linux上解压安装。

其中Ant的安装步骤可见:http://blog.csdn.net/zj7758/article/details/8437739

4.下载Hadoop源码并解压

源码下载地址为:http://archive-primary.cloudera.com/cdh5/cdh/5/

5.编译源码

运行:

mvn package -DskipTests -Pdist,native -Dtar

如果出现错误可以加上-X显示错误详细信息:

mvn -X package -DskipTests -Pdist,native –Dtar

重编译完成后,native包一般在如下的目录下:

../hadoop-2.3.0-cdh5.1.0/src/hadoop-common-project/hadoop-common/target/native/target/usr/local/lib/

如下图:

安装过程中常见的错误:

1、maven中的jar包下载失败。

Downloading: https://repository.cloudera.com/artifactory/cloudera-repos/com/cloudera/cdh/cdh-root/5.1.0/cdh-root-5.1.0.pom
Downloading: http://repository.jboss.org/nexus/content/groups/public/com/cloudera/cdh/cdh-root/5.1.0/cdh-root-5.1.0.pom
Downloading: https://repo.maven.apache.org/maven2/com/cloudera/cdh/cdh-root/5.1.0/cdh-root-5.1.0.pom
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR]   The project org.apache.hadoop:hadoop-main:2.3.0-cdh5.1.0 (/home/hbase/install/hadoop-2.3.0-cdh5.1.0/src/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM: Could not transfer artifact com.cloudera.cdh:cdh-root:pom:5.1.0 from/to cdh.repo (https://repository.cloudera.com/artifactory/cloudera-repos): repository.cloudera.com and 'parent.relativePath' points at wrong local POM @ line 19, column 11: Unknown host repository.cloudera.com -> [Help 2]
[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/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException

[ERROR] Unresolveable build extension: Plugin org.apache.felix:maven-bundle-plugin:2.4.0 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.felix:maven-bundle-plugin:jar:2.4.0 @ 

	at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:416)
	at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:672)
	at org.apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.java:663)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:253)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
[ERROR]
[ERROR]   The project org.apache.hadoop:hadoop-main:2.3.0 (/usr/local/release-2.3.0/pom.xml) has 1 error

原因找来找去,搞了一天,最后发现Linux集群无法上网(通过ping www.baidu.com不通)。最后修改了一下DNS就可以上网了。

2、编译失败

通过mvn package总是失败,可以考虑通过mvn compile来,如下:

mvn compile -Pdist,native -Dskiptests -Dtar

知识提示:Hadoop调试的开启和关闭

开启:export HADOOP_ROOT_LOGGER=DEBUG,console
关闭:export HADOOP_ROOT_LOGGER=INFO,console

全文完,转载请注明出处:http://blog.csdn.net/ghuil/article/details/45371977

时间: 2024-10-24 09:59:22

Hadoop 2.3.0-cdh5.1.0重编译的相关文章

spark cdh5编译安装[spark-1.0.2 hadoop2.3.0 cdh5.1.0]

前提你得安装有Hadoop 我的版本hadoop2.3-cdh5.1.0 1.下载maven包 2.配置M2_HOME环境变量,配置maven 的bin目录到path路径 3.export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m" 4.到官方下载spark-1.0.2.gz压缩包.解压 5.进入spark解压包目录 6.执行./make-distribution.sh --hadoop

CDH5.2.0升级到CDH5.3.3

公司有一个Spark on Yarn集群,基于CM5.2.0+CDH5.2.0搭建,Spark的版本是1.1.0.为了使用Spark1.2.0的一些特性,决定将集群版本升级到CM5.3.3+CDH5.3.3.之所以升级CM,是因为CM的版本号必须大于等于CDH的版本号.下面分成两个步骤介绍升级过程:CM升级和CDH升级. 1 CM升级过程介绍     1.1 admin用户登陆http://10.10.244.137:7180/cmf/home,关闭集群服务和Cloudera managemen

Centos6.5安装配置Cloudera Manager CDH5.6.0 Hadoop

环境规划操作系统版本:CentOS-6.5-x86_64-minimal.iso 192.168.253.241    master   虚拟机4G内存192.168.253.242    slave1    虚拟机2G内存192.168.253.243    slave2    虚拟机2G内存 一.环境初始化1.修改主机名(每台机器都执行) 192.168.253.241    master 192.168.253.242    slave1 192.168.253.243    slave2

Cloudera Hadoop 5& Hadoop高阶管理及调优课程(CDH5,Hadoop2.0,HA,安全,管理,调优)

1.课程环境 本课程涉及的技术产品及相关版本: 技术 版本 Linux CentOS 6.5 Java 1.7 Hadoop2.0 2.6.0 Hadoop1.0 1.2.1 Zookeeper 3.4.6 CDH Hadoop 5.3.0 Vmware 10 Hive 0.13.1 HBase 0.98.6 Impala 2.1.0 Oozie 4.0.0 Hue 3.7.0 2.内容简介 本教程针对有一定Hadoop基础的学员,深入讲解如下方面的内容: 1.Hadoop2.0高阶运维,包括H

数据采集+调度:cdh5.8.0+mysql5.7.17+hadoop+sqoop+hbase+oozie+hue

一.前期准备 1.操作系统版本 # cat /etc/redhat-release CentOS release 6.5 (Final) # uname –aLinux enc-bigdata05 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux 2.前期软件准备 2-1. jdk版本: jdk-7u80-linux-x64.tar.gz [jdk1.7.80下载地址]

Ubuntu14.04离线安装CDH5.6.0

官方安装文档:http://www.cloudera.com/documentation/enterprise/5-6-x/topics/installation.html 相关包的下载地址: Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/ CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/5.6.0/ 由于我们的操作系统为ubuntu14.04,需要下载以下文件: CDH-5.6

Centos-6.5安装CDH-5.9.0教程

Centos-6.5安 本文是为了帮助想以Cloudera搭建自己大数据管理和运行平台的朋友,由于Cloudera有多种安装方式,经过多次的尝试和研究,本文介绍的是其中一种更容易安装成功的方式,供大家参考. Cloudera的介绍可参考官方文档 cloudera介绍 包含cloudera的各个工程项目,这里就不再细说,直接进入正题. 一.准备工作 1.下载CDH相关文件 Cloudera Manager :http://archive.cloudera.com/cm5/cm/5/cloudera

cdh4.6.0到cdh5.2.0 upgrade和rollback问题小结

upgrade小结:1.dfsadmin -upgradeProgress status 在cdh5.2.0中没有,在4.6.0有(见源码org.apache.hadoop.hdfs.tools.DFSAdmin)升级的时候不能通过这个看到升级状态rollingUpgrade这个参数在4.6.0中不存在,在5.2.0中有,可以用于滚动升级2.在cdh5.2.0中执行upgrade,nn中调用的命令是 hadoop-daemon.sh start namenode -upgrade 最终调用org

Pentaho Kettle 6.1连接CDH5.4.0集群

作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 欢迎转载 最近把之前写的Hadoop MapReduce程序又总结了下,发现很多逻辑基本都是大致相同的,于是想到能不能利用ETL工具来进行配置相关逻辑来实现MapReduce代码自动生成并执行,这样可以简化现有以及之后的一部分工作.于是选取了上手容易并对Hadoop支持的比较成熟的Pentaho Kettle来测试,把一些配置过程和遇到的坑记录下来. Kettle可以在官网下载到,但是官网会让你注册才能下载而