设为首页 收藏本站
查看: 1062|回复: 0

[经验分享] liuming_1992

[复制链接]

尚未签到

发表于 2017-12-16 23:35:13 | 显示全部楼层 |阅读模式
  这里仅介绍一种Hadoop3.0.x版本的源码编译方式
  编译过程
  1. 下载源码
  2. 安装依赖环境
  3. 源码编译
  =============================================
  一、下载源码
  直接从apache的归档网站中下载对应版本的源码,比如需要下载的hadoop-3.0.0-alpha2的地址为http://archive.apache.org/dist/hadoop/core/hadoop-3.0.0-alpha2/; 直接下载源码包:hadoop-3.0.0-alpha2-src.tar.gz
  二、安装依赖环境
  hadoop的编译需要依赖cmake、openssl等相关依赖环境,如果在编译hadoop之前没有进行必要环境的安装的话,可能会出一些异常问题,部分异常解决将博客:[Hadoop] - Cannot run program "cmake"、[Hadoop] - Protocol Buffer安装; 必要服务列表为:
  

* Unix System ## Unix类型的操作系统  
* JDK 1.8+ ## JDK至少1.8版本
  
* Maven 3.0 or later ## Maven环境3.x版本以上,最好将maven的源修改为国内源,默认国外源可能连接不上
  
* 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 ## 进行native编译过程中必须服务
  
* Zlib devel (if compiling native code) ## cmake服务需要
  
* openssl devel (if compiling native hadoop-pipes and to get the best HDFS encryption performance) ## cmake服务需要
  
* Linux FUSE (Filesystem in Userspace) version 2.6 or above (if compiling fuse_dfs)
  
* Internet connection for first build (to fetch all Maven and Hadoop dependencies)

  
* python (for>  
* bats (for shell code testing)
  
* Node.js / bower / Ember-cli (for YARN UI v2 building)
  

  三、源码编译
  进行源码压缩包解压,然后进入解压后的文件夹,执行相关maven命令进行源码编译操作
  假设解压后,hadoop源码位于文件夹:/opt/workspaces/hadoop-3.0.0-alpha2-src中;支持的maven命令如下:
  

Maven build goals:  

  
* Clean                     : mvn clean [-Preleasedocs]
  
* Compile                   : mvn compile [-Pnative]
  
* Run tests                 : mvn test [-Pnative] [-Pshelltest]
  
* Create JAR                : mvn package
  
* Run findbugs              : mvn compile findbugs:findbugs
  
* Run checkstyle            : mvn compile checkstyle:checkstyle
  
* Install JAR in M2 cache   : mvn install
  
* Deploy JAR to Maven repo  : mvn deploy
  
* Run clover                : mvn test -Pclover [-DcloverLicenseLocation=${user.name}/.clover.license]
  
* Run Rat                   : mvn apache-rat:check
  
* Build javadocs            : mvn javadoc:javadoc
  
* Build distribution        : mvn package [-Pdist][-Pdocs][-Psrc][-Pnative][-Dtar][-Preleasedocs][-Pyarn-ui]
  
* Change Hadoop version     : mvn versions:set -DnewVersion=NEWVERSION
  

  Maven相关参数如下:
  

Build options:  

  
* Use -Pnative to compile/bundle native code ## 进行本地库代码编译
  
* Use -Pdocs to generate & bundle the documentation in the distribution (using -Pdist) ## 进行帮助文档编译
  
* Use -Psrc to create a project source TAR.GZ ## 将源码打包到最后编译好的文件夹中
  
* Use -Dtar to create a TAR with the distribution (using -Pdist) ## 对编译好的文件进行打包操作

  
* Use -Preleasedocs to include the changelog and>  
* Use -Pyarn-ui to build YARN UI v2. (Requires Internet connectivity) ## 支持yarn v2的ui
  

  几个常用的编译命令:
  1. mvn package -Pdist -DskipTests -Dtar -Dmaven.javadoc.skip=true ## 仅编译正常源码部分,对于native部分不进行编译,最终结果打包
  2. mvn package -Pdist,native,docs -DskipTests -Dtar ## 编译正常部分源码、native依赖库以及帮助文档,最终结果打包
  执行mvn package -Pdist,native,docs -DskipTests -Dtar命令后,等等一段时间(根据网络情况而定,一般30分钟左右能够完成编译),完成编译后,命令行输出为:
DSC0000.png

  编译好的文件位于路径/opt/workspaces/hadoop-3.0.0-alpha2-src/hadoop-dist/target中,即当前目录的hadoop-dist子目录的target文件夹中,文件截图为:
DSC0001.png

  ==================================
  至此,hadoop3.0编译完成
  编译环境:
  centos6.5 64位 1核2G
  JDK 1.8.0_121
  Maven 3.3.3
  Maven源:aliyun maven源 ==> http://maven.aliyun.com/nexus/content/groups/public/
  ProtocolBuffer 2.5.0
  Cmake 2.8.12.2

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424873-1-1.html 上篇帖子: Hadoop namenode重新格式化需注意问题 下篇帖子: hadoop集群安装规划
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表