在Windows操作系统上编译Hadoop源码

在上篇博客中,笔者提到曾经在Windows上编译Hadoop源码。这里将具体流程列出。

一、操作系统和Hadoop版本

Windows 10专业版(64位),Hadoop 2.7.2。

二、安装软件依赖

1、jdk 1.8
安装后设置环境变量(Path中加入java路径;JAVA_HOME,指向jdk目录)。
2、Ant 1.9.7
将文件解压到C:\ant目录下,设置环境变量(Path中加入ant路径)。
3、Maven 3.3.9
将文件解压到C:\maven目录下,设置环境变量(Path中加入mvn路径)。
4、Protocol Buffers 2.5.0
下载( https://github.com/google/protobuf/releases/tag/v2.5.0)后,将文件解压到C:\protobuf目录下,设置环境变量(Path中加入protoc.exe路径)。
5、CMake 3.2.1
下载( https://cmake.org/files/v3.2/)后,安装到C:\CMake目录下,设置环境变量(Path中加入cmake路径)。
6、Visual Studio 2015

三、编译

1、将Hadoop源码放在C:\build\目录下
2、更改VC++编译设置
用Visual Studio 2015分别打开C:\build\hadoop-common-project\hadoop-common\src\main\native\winutils.sln和C:\build\hadoop-common-project\hadoop-common\src\main\native\native.sln,升级VC++编译器和库。
更改C:\build\hadoop-hdfs-project\hadoop-hdfs\pom.xml文件中第446行内容,将两个“Visual Studio 10”改成“Visual Studio 14”。
3、Maven编译
打开cmd(不需以管理员身份),进入C:\build\目录,使用如下命令进行编译
mvn clean package -Pdist,native-win -DskipTests -Dtar -Dmaven.javadoc.skip=true -e
编译的结果在C:\build\hadoop-dist\target\hadoop-2.7.2目录下。

四、启动集群

使用上面的编译结果可以在Windows操作系统上启动一个伪分布式集群,从而可以测试MapReduce程序。但需要安装Cygwin,并设置环境变量(Path中加入cygwin64\bin的全路径)。
编译后,将C:\build\hadoop-dist\target\hadoop-2.7.2目录下的内容复制到目标工作目录下,修改相关配置(具体修改方式可在网上查询),然后用如下命令启动集群
hdfs namenode -format
start-dfs.cmd
start-yarn.cmd

【注】首次编译请严格遵守上面所提各依赖软件的版本。

你可能感兴趣的:(Hadoop,windows,hadoop,编译)