设为首页 加入收藏

TOP

Windows10 Pro 下 Hadoop2.7.3 编译心得
2018-12-22 12:41:21 】 浏览:77
Tags:Windows10 Pro Hadoop2.7.3 编译 心得
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/changge458/article/details/53576178
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.zipprotoc-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源吧,时间等不起啊)。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇centos 上安装hadoop和spark 集群 下一篇Hadoop的Partitioner

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目