在Windows下编译Hadoop源码的方法

栏目: 编程工具 · 发布时间: 6年前

环境准备

  • 准备一个Windows环境,比如Windows 10。

软件准备

  • 下载Hadoop的源码包 3.1.2
  • 将下载到的软件包,解压至一个较短的路径,比如 D:\HDP312 ,规避Windows环境对路径名长度的限制。否则在解压文件时,由于压缩包内的目录层次过深,导致解压操作失败。
  • 阅读 D:\HDP312\BUIlDING.txt 中关于Windows的章节,按照要求准备软件。相关软件均放置到 D:\HDP312\Tools\ 下。
    • 安装JDK,比如1.8的201版本。安装完毕后,将JDK的目录复制到 D:\HDP312\Tools 下,即 D:\HDP312\Tools\jdk1.8.0_201
    • 安装 Maven 工具,比如3.5.0版本。安装后路径为 D:\HDP312\Tools\apache-maven-3.5.0
    • 安装 Protocol Buffers ,从官网下载2.5.0版本,将压缩包解压后,将编译器复制到 D:\HDP312\Tools\PROTO\bin 下。
    • 安装 CMake 。从官网下载绿色压缩包版本,将压缩包中的文件放置到 D:\HDP312\Tools\CMAKE 下。
    • 安装Windows SDK 7.1,下载路径参考BUIlDING.txt中给出的URL。
    • 安装Microsoft Visual Studio 2015 Community版本, 下载链接
    • 安装zlib,可参考。
    • 安装Git工具, 下载

编译准备

  • 准备Maven的配置文件 settings.xml ,放置在 D:\HDP312\Tools 下。
  • 准备环境变量初始化脚本 setup_build_env.cmd ,内容如下:
@echo off
@REM 64位环境,使用如下变量
set Platform=x64
set VCVARSPLAT=amd64

@REM 32位环境,使用如下变量
set Platform=Win32
set VCVARSPLAT=x86

@REM 根路径
set BUILD_ROOT=D:\HDP312

@REM 相关 工具 的根路径
set TOOLS_ROOT=%BUILD_ROOT%\Tools
set PATH=%TOOLS_ROOT%\bin;%PATH%
set PATH=%TOOLS_ROOT%\lib;%PATH%

@REM Maven工具的安装路径
set M2_HOME=%TOOLS_ROOT%\apache-maven-3.5.0
set MAVEN_HOME=%M2_HOME%
set PATH=%MAVEN_HOME%\bin;%PATH%

@REM JDK的安装路径
set JAVA_HOME=%TOOLS_ROOT%\jdk1.8.0_201
set PATH=%JAVA_HOME%\bin;%PATH%

@REM ProtoBuffer工具的编译器的安装路径,ProtoBuffer只能使用2.5.0版本
set PROTOC_HOME=%TOOLS_ROOT%\PROTO
set PROTOC_BIN=%PROTOC_HOME%\bin\protoc
set HADOOP_PROTOC_PATH=%PROTOC_BIN%
set PATH=%PROTOC_HOME%\bin;%PATH%

@REM Git工具的安装路径
set GIT_HOME=D:\Program Files\Git
set PATH=%GIT_HOME%\bin;%PATH%

@REM CMake工具的安装路径
set CMAKE_HOME=%TOOLS_ROOT%\CMAKE
set CMAKE_ROOT=%CMAKE_HOME%
set PATH=%CMAKE_HOME%\bin;%PATH%

@REM zlib1.dll需要放置在%ZLIB_HOME%下
set ZLIB_HOME=%TOOLS_ROOT%\lib

@REM MSVS工具的安装路径
set MSVS=D:\Program Files (x86)\Microsoft Visual Studio 14.0
set PATH=%MSVS%\VC;%PATH%

@REM MSBUILD工具的安装路径
set MSBUILD_HOME=C:\Program Files (x86)\MSBuild\14.0
set PATH=%MSBUILD_HOME%\Bin;%PATH%

call "%MSVS%\VC\vcvarsall.bat" %VCVARSPLAT%
  • 打开命令行窗口,执行如下命令,开始编译
d:
cd %BUILD_ROOT%
call setup_build_env.cmd
REM 注意使用mvn命令时,不要增加选项`-Dmaven.test.skip=true`,否则会导致编译失败。
mvn package -gs %TOOLS_ROOT%\settings.xml -DskipTests -Dmaven.javadoc.skip=true -Pdist -Dtar
  • 编译成功后,发布包保存在路径 %BUILD_ROOT%\hadoop-dist\target 下,文件名为 hadoop-3.1.2.tar.gz

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First Design Patterns

Head First Design Patterns

Elisabeth Freeman、Eric Freeman、Bert Bates、Kathy Sierra、Elisabeth Robson / O'Reilly Media / 2004-11-1 / USD 49.99

You're not alone. At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire),......一起来看看 《Head First Design Patterns》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具