部署hadoop源码

在上一篇博文中简略介绍了在windows上部署hadoop源码到eclipse中,下面介绍通过unix处理项目部署的过程。

 

Hadoop源码构建环境需求(Hadoop-2.7.2):

Requirements:

 

*Unix System

*JDK 1.7+

*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), must be 3.0 or newer on Mac

*Zlib devel (if compiling native code)

*openssl devel ( if compiling native hadoop-pipes and to get the best HDFSencryption performance

)

*Jansson C XML parsing library ( if compiling libwebhdfs )

*Linux FUSE (Filesystem in Userspace) version 2.6 or above ( if compilingfuse_dfs )

*Internet connection for first build (to fetch all Maven and Hadoopdependencies)

 

0、环境要求

*Unix System

*JDK 1.7+

*Maven 3.0 or later

*ProtocolBuffer 2.5.0

我的hadoop编译环境是:

Centos7

jdk1.8

Maven3.3.9

ProtocolBuffer2.5.0

我的本机开发环境:

MacOS10.10.5

eclipseMars.2

 

 

1、官网下载hadoop源码包:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/hadoop-2.7.2-src.tar.gz

 

2、解压,进入解压目录:

[root@hq-centos7~]# cd hadoop-2.7.2-src/

 

3、安装hadoop-maven-plugins,进入下级hadoop-maven-plugins目录,执行maven安装:

[root@hq-centos7hadoop-2.7.2-src]# cd hadoop-maven-plugins/

[root@hq-centos7hadoop-maven-plugins]# mvn install

 

4、进入根目录构建eclipse工程文件:

[root@hq-centos7hadoop-maven-plugins]# cd ..

[root@hq-centos7hadoop-2.7.2-src]# mvn eclipse:eclipse -DskipTests

 

5、构建完成之后,把hadoop-2.7.2-src目录内容都拷贝到开发环境机器,导入到eclipse:[File] > [Import] >[Maven]>[Existing Maven Projects]

 

注意:拷贝时,注意隐藏文件也要拷贝。我用ftp工具拷贝目录文件时,隐藏文件没有拷贝,导致导入到eclipse中时编译错误。隐藏文件主要包括.classpath.projecteclipse文件,由mvn eclipse:eclipse -DskipTests时生成,不拷贝过去的话,相关eclipse项目配置就会没有,导致出错。

 

6、导入后eclipse,继续报错。

错误1:java build path中保留了编译环境(linux环境)下的jdk路径,直接删除引用即可。

 

错误2:pom.xml中executor元素报错:

鼠标移动错误上,提示见上图3个处理选项,选择第2项,问题解决。

 

错误3:Problems视图提示需要UpdateProject:

解决方法:右键报错项目->Maven->Update Project,选择上"Force Update ofSnapshots/Realease",点击“OK”

 

错误4:Spark Streaming的Java Build Path->Source,使用了编译环境(linux)下的路径,提示找不到路径。解决方法:直接删掉即可。

 

错误5:hadoop-common项目报错,报错类是在src/test/java下,属于测试类,该错误可以不用管。

 

错误6:hadoop-hdfs项目报错,主要是xml提示错误,可以不用管。

 

至此,除了hadoop-common、hadoop-hdfs两个项目提示有错(这两个项目的错误可以不用管,不影响使用),其它项目都构建正确。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值