Windows10 Pro 下 Hadoop2.7.3 编译心得

Windows10 Pro 下 Hadoop2.7.3 编译心得

*系统环境 : 
OS            Windows 10  Pro  Insider  Preview 14986.rs
JDK          JDK 1.8.0_102
Hadoop    Hadoop 2.7.3
------------------------------------------------------------------------------------------------------
1.下载相关软件包
  Building  on  Windows(此文档见源码包下hadoop-2.7.3-src\BUILDING.txt文件)
---------------------------------------------------------------------------------------------------------
Requirements:

* Windows 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
* Windows SDK 7.1 or Visual Studio 2010 Professional
* Windows SDK 8.1 (if building CPU rate control for the container executor)
* zlib headers (if building native code bindings for zlib)
* Internet connection for first build (to fetch all Maven and Hadoop dependencies)
* Unix command-line tools from GnuWin32: sh, mkdir, rm, cp, tar, gzip. These
  tools must be present on your PATH.

    文档上提出,如果装了visual  studio  2010或者以上版本的就不需要单独安装Windows  SDK了。
但是本人的电脑不支持安装2010版本(因为安装之后运行会强制退出,并且visual studio 2010安装后残留的SQL  Server  根本卸载不掉,害得我又重装了一遍系统)。所以,本人用最新正式版的visual  studio 2015  update 3  来编译hadoop源码。

     以上工具的话,最后一点有分歧,很多网站说用Cygwin代替也可以,并且很多网上教程还推荐用Cygwin,所以我用一晚上时间下载了Cygwin上的20G的BuildPackage(还特意用最快的163源),安装它花了我半天时间吧,我没全部安装完,但是用了我70G硬盘空间,尼玛顶我一个GTA5都大,最后就用它在CMD下执行Linux命令(黑人问号)。最后卸载掉它的时候吧,废了我一个多小时,最后有个文件句柄坏掉了,删除不掉。所以这个软件对小白来说是噩梦,是坑!!!!!不要轻易尝试

     最后我用官方文档推荐的Git来取代Cygwin进行相同的工作(前者安装完200M,后者70G)。闲话少说,直接上链接:
----------------------------------------------------------------------------------------------------------------------------------------------------------------
JDK 1.8    (jdk1.8.0_102
   下载地址    :
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (按照电脑版本下载安装)

*  Maven 3.3.9 (apache-maven-3.3.9-bin.zip)
   下载地址    :
https://maven.apache.org/download.cgi

* Findbugs 1.3.9    ( findbugs-1.3.9.zip )不确定是否需要,装上最好
   下载地址    :
https://sourceforge.net/projects/findbugs/files/findbugs/1.3.9/

* ProtocolBuffer 2.5.0    (两个文件 protobuf-2.5.0.zip    protoc-2.5.0-win32.zip
   下载地址    : https://github.com/google/protobuf/releases/tag/v2.5.0
   注: 除了下载protobuf源码外,还需要下载相应版本的编译过的用于Windows平台的protoc命令(protoc-2.5.0-win32.zip),该命令用于将.proto文件转化为Java或C++源文件。

*  Cmake 3.7.1    (
cmake-3.7.1-win64-x64.zip
    下载地址    :
https://cmake.org/download/

*  Visual Studio 2015 Professional  Update 3 (cn_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923256.iso)
    下载地址:
    ed2k://|file|cn_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923256.iso|7745202176|DD35D3D169D553224BE5FB44E074ED5E|/

*  Zlib  headers    (
zlib128.zip
    下载地址    :
http://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib128.zip

*  GnuWin32    (Git-2.11.0-64-bit)
    下载地址    : https://git-for-windows.github.io/
    安装方法    :
    1、
    
     
    2、
     
    3、
     
    4、
     
    5、
      

     验证安装成功方法:  打开CMD输入Linux命令  ls  即可列出当前文件夹列表
---------------------------------------------------------------------------------------------------------------------------------
2、接下来是配置相关环境变量
--------------------------------------------------------------------------------------------------------------------------------
   
  • JDK
    ① 安装JDK
    ② 新建系统变量JAVA_HOME=D:\Program Files\Java\jdk1.8.0_102
    ③ 编辑系统变量Path,新建%JAVA_HOME%\bin%JAVA_HOME%\jre\bin

  • Maven
    ① 解压Maven到指定目录
    ② 新建系统变量M2_HOME=C:\WorkSpace\apache-maven-3.3.9
    ② 编辑系统变量Path,新建%M2_HOME%\bin

  • Findbugs
    ① 解压Findbugs到指定目录
    ② 编辑系统变量Path,新建C:\WorkSpace\findbugs-1.3.9\bin

  • ProtocolBuffer
    ① 解压ProtocolBuffer到指定目录
    ② 解压protoc-2.5.0-win32.zip,将protoc.exe复制到C:\WorkSpace\protobuf-2.5.0\src目录下
    ③ 安装ProtocolBuffer,打开CMD命令行

    1. cd C:\WorkSpace\protobuf-2.5.0\java
    2. mvn test
    3. mvn install
    4. protoc --version

    若没有protoc.exe或复制目录不正确,会提示如下错误:

    1. [INFO] Executing tasks
    2. [mkdir] Created dir: C:\WorkSpace\protobuf-2.5.0\java\target\generated-sources
    3. [INFO] ------------------------------------------------------------------------
    4. [INFO] BUILD FAILURE
    5. [INFO] ------------------------------------------------------------------------
    6. [INFO] Total time:04:22 min
    7. [INFO] Finished at:2016-12-11T11:56:19+08:00
    8. [INFO] FinalMemory:16M/439M
    9. [INFO] ------------------------------------------------------------------------
    10. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.3:run(generate-sources) on project protobuf-java:AnAntBuildException has occured:Execute failed: java.io.IOException:Cannot run program"..\src\protoc":CreateProcess error=2,?????????->[Help1]
    11. [ERROR]
    12. [ERROR] To see the full stack trace of the errors, re-runMavenwith the-eswitch.
    13. [ERROR] Re-runMavenusing the-Xswitch to enable full debug logging.
    14. [ERROR]
    15. [ERROR] For more information about the errorsand possible solutions, please read the following articles:
    16. [ERROR] [Help1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

    ④ 将protoc.exe所在路径C:\WorkSpace\protobuf-2.5.0\src,添加到系统变量Path

  • CMake
    ① 解压CMake到指定目录
    ② 编辑系统变量Path,新建C:\WorkSpace\cmake-3.7.1-win64-x64\bin

  • Git
    ① 安装Git,具体做法见上
    ② 编辑系统变量Path不用创建,安装后自动生成

  • Zlib
    ① 解压Zlib到指定目录
    ② 新建系统变量ZLIB_HOME=C:\WorkSpace\zlib-1.2.8

  • 至此,准备工作完成,接下来开始编译---------

-----------------------------------------------------------------------------------------------------------------------------------------
      首先打开VS2015 X64本机工具命令提示符(之前写的用vs2015 开发人员命令提示,测试了下不好用,所以修改了使用工具)
    

      切换到hadoop-2.7.3-src源码目录中
   
    
       这还没完 ,接下来还要做两点准备工作
        --------------------------------------------------------------------------------------------------------------------------------------------------------------
      
1、由于Visual Studio版本问题,官方默认使用Visual Studio 2010 Professional,但本文采用Visual Studio 2015,因此对于生成失败的项目,需要用Visual Studio 2015重新打开,升级项目至Visual Studio 2015版本即可:
  1. E:\ZTeaching\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\winutils\winutils.sln
  2. E:\ZTeaching\hadoop-2.7.3-src\hadoop-common-project\hadoop-common\src\main\native\native.sln
2、 打开文 E:\ZTeaching \hadoop-2.7.3-src\hadoop-hdfs-project\hadoop-hdfs\pom.xml`,
    将     'Visual Studio 10 Win64'

    修改为  'Visual Studio 14 Win64'
---------------------------------------------------------------------------------------------------------------------
3、 接下来在刚刚打开的CMD窗口执行
    mvn package -Pdist,native-win-DskipTests -Dtar
4、 编译成功 (找个快一点的maven源吧,时间等不起啊)。  


评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值