windows10编译hadoop2.6.4和2.8.3详解,成功率将近100%!!!
最近在学习hadoop,从网上下的windows编译好的软件包在运行任务的时候总是出错,于是想就自己编译源码。从网上查询了好多资料,历经了2天的摧残,现在把我编译的心得分享给大家。只要你按照我的方法来,基本上就能编译成功
本次编译所需安装软件、maven仓库、编译成功的tar包都在传送门
编译环境:
准备工作:
1.mvn
下载apache-maven-3.5.2-bin.zip,解压到指定目录,配置环境变量,如下图
2.jdk
下载jdk-8u141-windows-x64.exe,解压到指定目录,配置环境变量,如下图
3.findbug
下载findbugs-1.3.9.zip,解压到指定目录,配置环境变量,如下图
4.cmake
下载cmake-3.7.1-win64-x64.zip,解压到指定目录,配置环境变量,如下图
5.zlib
下载zlib128-dll.zip,解压到指定目录,配置环境变量,如下图
注意:网上很多是下载的zlib128.zip,经过我的测试行不通,如果后面vs编译的时候总是报错,检查下自己的zlib是否正确!!!
6.git
git安装后可以在windows上运行linux
下载Git-2.11.0-64-bit.exe,按照图片安装就行
安装完成后打开cmd,输入linux的命令测试下,比如
7.protobuf
下载protobuf-2.5.0.zip和protoc-2.5.0-win32.zip,解压到指定目录,配置环境变量,如下图
然后,在本机编译一下protobuf,这个很重要,很重要,很重要!
8.Visual Studio 2015
这个没事么好说的,安装vs2015就行,但是要是在线安装的话会很慢很慢,建议直接下载vs2015的最新版本(貌似是update3版本的吧)
需要注意的是安装时候的sdk,默认是sdk10,如果后面在编译hadoop-common时总是报winutils错误,用vs打开,安装sdk8,重新生成就好了
开始编译:
其实,编译的难点就只有系统环境、编译需要jar下载和hadoop编译参数修改。
如果,资源总是无法下载,建议配置一个国内maven源,这里推荐阿里云镜像仓库如果,上述步骤都已就绪,那就可以开始编译了。
------------------------------------------------------华丽分割线--------------------------------------------------------------------------
我开始编译的是hadoop2.8.3,网上好多教程里面关于hadoop-common的pom.xml文件都是旧版本的,新版本的pom文件路径不能按照那样设置。开始编译时总是告诉我vs版本不对,找了好长时间才找到修改版本的地方
-------------------------------------------------------华丽分割线------------------------------------------------------------------------
目前官方编译hadoop都是用的早期版本的vs,需要我们用vs2015重新升级下才能编译。无论什么版本都需要修改hadoop-common和hadoop-hdfs包,只是具体设置参数的路径不同而已。
1.修改hadoop-common
进入hadoop-common-project\hadoop-common\src\main\winutils,用vs2015打开winutils.sln之后,按照提示升级项目
然后,右键winutil项目,点击生成“”,之后提示错误信息,如果是这样的那就不用管它
然后,打开hadoop-common-project\hadoop-common\src\main\native下面重复上面的步骤,出现异常不用管
2.修改hadoop-hdfs
进入hadoop-2.8.3-src\hadoop-hdfs-project\hadoop-hdfs,修改pom.xml,修改成“Visual Studio 14 2015 Win64”(2.8.3没有,不用改;2.6.4有,必须改)进入hadoop-2.8.3-src\hadoop-hdfs-project\hadoop-hdfs-native-client,修改pom.xml,修改成value="Visual Studio 14" else="Visual Studio 14 2015 Win64"(2.8.3改;2.6.4没有)
如果还是报vs版本错误,就修改hadoop-2.8.3-src\hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\
CMakeCache.txt,改成“Visual Studio 14 2015
Win64”
-----------------------------------------------------------编译开始--------------------------------------------------------------
1.管理员身份运行“VS2015 开发人员命令提示
2.设置好参数,粘贴执行
cd E:\hadoopsrc
set Platform=x64
set ZLIB_HOME=C:\bigdata\zlib128-dll\include
mvn clean package -Pdist,native-win -DskipTests -Dtar -Dmaven.javadoc.skip=true -e
然后就开始漫长的等待了
编译成功后会有提示,打包好的tar放在hadoop-dist/target
感谢****上的大佬提供的教程,在这里把他们的链接提供下,方便出现问题查找。
http://blog.****.net/changge458/article/details/53576178
http://blog.****.net/mrbcy/article/details/55806809
---------------------------------------------------------------------------------------------------------------------------------
这是第一次写blog,以前我都是直接弄个word文档,看着其他人的精美blog感到自惭形秽
,如果大家还喜欢的话下次我把样式弄得好看点
至此本人第一篇blog到此结束,撒花
撒花
撒花
撒花
撒花
撒花