由于开发环境是windows 7, 为了使用Hadoop,需要手工编译Hadoop生成特定平台的DLL。官方教程写的比较复杂,因此将自己被折腾的过程记录下来。
下面步骤记录了我编译Hadoop 2.7.1 的过程。
第一步:准备编译所需要的工具。
- Maven 3
- JDK 1.7
- Visual studio 2010
- CMake 2.6+
- zlib
- GnuWin32
- protocbuf 2.5 (必须是这个版本)
- dotNet 4.0 Framework(必须是4.0.x版本)
第二步:从官网下载hadoop 2.7.1的源码,并解压到一个不带空格和特殊字符的目录
第三步:从Windows visual studio 2010自带的命令行启动(X64 win64 Command Line), CD 到hadoop源码的根目录。注意:必须从vs 2010的cmd启动,否则会遇到各种各样对编译环境依赖的问题。
第四步:运行如下命令:
set Platform=x64
mvn package -DskipTests
第五步:将hadoop-common-project\hadoop-common\target\bin下的hadoop.dll和winutil.exe拷贝到%HADOOP_HOMT%\BIN下,然后就可以开始跑Hadoop了。