这篇文章主要讲解了“Win7 64bit hadoop-2.6.0源码如何编译部署包”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Win7 64bit hadoop-2.6.0源码如何编译部署包”吧!
1. 需要准备的工具有:
a. hadoop-2.6.0 源码 (hadoop-2.6.0-src .tar.gz): https://hadoop.apache.org/releases.html
b. Windows 7 64bits
c. Microsoft Windows SDK v7.1
在安装SDK v7.1过程中可能会遇到问题,问题解决参考:https://support.microsoft.com/zh-cn/kb/2934068/zh-cn
d. maven 3.0或更新版本,本例中用maven3.0.4
e. Protocol Buffers 2.5.0:http://protobuf.googlecode.com/files/protoc-2.5.0-win32.zip
注:需要的是2.5.0版本
f. jdk(1.6 或更新版本),本例中用jdk1.7.0_67
g. CMake (cmake-3.3.0-rc3-win32-x86.exe):http://www.cmake.org/download/
h. zlib headers:http://code.google.com/p/psi-dev/downloads/detail?name=zlib-1.2.7-win.7z
i. Ant:http://ant.apache.org/bindownload.cgi
2. 具体步骤
在build 之前,仔细阅读源码根目录中的 BUILDING.txt 文件,其中 Building on Windows部分有详细说明
a. 把 hadoop-2.6.0-src .tar.gz 解压到某个目录,路径长度越短越好,如:D:\hadoop,结构图:
b. 安装cmake-3.3.0-rc3-win32-x86.exe
安装到指定目录(如:f:\cmake),再把bin目录(f:\cmake\bin)添加到环境变量Path中,
注:如果已在windows安装了cygwin,由于cygwin中也带了个cmake,所以在Path中,cmake 的bin目录得加在cygwin的bin 目录之前,不然会报如下错误:
[exec] CMake Error: Could not create named generator Visual Studio 10 Win64 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (make) on project hadoop-hdfs: An Ant BuildException has occured: exec returned: 1 [ERROR] around Ant part ...<exec dir="D:\hadoop\hadoop-hdfs-project\hadoop-hdfs\target/native" executable="cmake" failonerror="true">... @ 5:109 in D:\hadoop\hadoop-hdfs-project\hadoop-hdfs\target\antrun\build-main.xml
c. 下载Protocol Buffers 2.5.0,解压,将protoc.exe拷贝到C:\Windows\System32下,不然会报如下错误:
Failed to execute goalorg.apache.hadoop:hadoop-maven-plugins:2.6.0:protoc (compile-protoc)on project hadoop-common
d. 下载zlib,解压,把x86_64目录下所有内容拷贝到指定目录(如:D:\zlib-1.2.7),把bin目录(D:\zlib-1.2.7\bin)添加到Path中
e. 安装Ant(本例用:apache-ant-1.9.5-bin.zip),解压,安装到指定目录,把bin目录添加到Path中
f. 设置环境变量
(1) JAVA_HOME
(2) M2_HOME:maven安装目录(如: f:\maven304)
(3) Platform:指定在32位还是64位系统上面build,可以设置为 x64 或 Win32,
本例中设置的是x64,另单词"Platform"是大小写敏感的,不要拼错
(4)ZLIB_HOME: (如:D:\zlib-1.2.7)
(5)Path:把maven的bin 目录添加到Path中;
把Microsoft Windows SDK的bin 目录添加到Path中;
g. 打开 Windows SDK 7.1 Command Prompt(开始 -> 所有程序 -> Microsoft Windows SDK v7.1)
在命令窗口中,切换目录,进入hadoop-2.6.0 源码目录(如:D:\hadoop),然后执行以下命令:
mvn package -Pdist,native-win -DskipTests -Dtar
在build的过程中可能会遇到一些错,跟Visual Studio 2010 Professional有关,本机没有安装Visual Studio 2010 Professional,但安装有Visual Studio 2012 Professional,遇到的问题有:
a. org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:exec (compile-ms-winutils) on project hadoop-common: Command execution failed.
问题解决:进入源码目录(如:D:\hadoop\hadoop-common-project\hadoop-common\src\main\winutils),用VS2012重新打开winutils.sln 工程,再重新编译一次,编译过程中可能会有错误出现,不用管
b. org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:exec (compile-ms-native-dll) on project adoop-common: Command execution failed.
问题解决:进入源码目录(如:D:\hadoop\hadoop-common-project\hadoop-common\src\main\native),用VS2012重新打开native.sln 工程,再重新编译一次,编译过程中可能会有错误出现,不用管
如果一切都顺利的话,将会迎来期待已久的画面:
感谢各位的阅读,以上就是“Win7 64bit hadoop-2.6.0源码如何编译部署包”的内容了,经过本文的学习后,相信大家对Win7 64bit hadoop-2.6.0源码如何编译部署包这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。