windows上编译hadoop
安装windows 7
安装VS2010
安装Java,映射到C盘根目录,配置JAVA_HOME,添加到路径
安装cmake,打勾:添加到路径
解压maven,配置M2_HOME,添加到路径
解压protoc,添加到路径
安装cygwin,默认选项和包即可,添加到路径,(一定要添加到最前,不然可能有其他的FIND错误),可以使用清华的软件源
安装7z
环境变量添加Platform,设置为Win32或x64,注意大小写敏感
解压hadoop-src后运行一次命令
mvn package -Pdist,native-win -DskipTests -Dtar
这样就产生了.m2文件夹
把.m2映射到C盘根目录,并修改settings.xml指向此文件夹
cd\
mklink /d m2 c:\Users\<username>\.m2
修改settings中的源,改成国内阿里源会快一些
编译3.1.0时遇到cygwin的bash运行问题,检查目录权限问题,修改etc中的fstab,添加上noacl
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
目录权限问题是我把hadoop-src放在了C盘根目录下,而它要对此做权限管理,就会有问题
而如果放在用户文件夹,文件名的路径就太长了
打开vs2010的cmd(一定要在x64系统上,使用x64 Win64的命令行)
mvn package -Pdist,native-win -DskipTests -Dtar
就能编译了,可以添加参数 -Dmaven.javadoc.skip=true,不编译javadoc,节省一些时间
编译之后,运行 hadoop checknative -a,检查发现,zlib和bzip2没有链接
不太懂这方面,先算了