windows7 64位cygwin环境maven编译hadoop2.7.1

本文档详细介绍了如何在Windows7 64位系统中,利用Cygwin环境编译Hadoop 2.7.1。主要步骤包括下载源码、修改特定文件以解决权限问题、执行Maven打包命令以及安装Hadoop Maven插件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要参照BUILDING.txt的操作来

* JDK 1.7+
* Maven 3.0 or later
* Findbugs 1.3.9 (if running findbugs)
* ProtocolBuffer 2.5.0
* CMake 2.6 or newer
* Windows SDK 7.1 or Visual Studio 2010 Professional
* Windows SDK 8.1 (if building CPU rate control for the container executor)
* zlib headers (if building native code bindings for zlib)
* Internet connection for first build (to fetch all Maven and Hadoop dependencies)
* Unix command-line tools from GnuWin32: sh, mkdir, rm, cp, tar, gzip. These tools must be present on your PATH. 如cygwin、mingw
*从cygwin安装包安装openssl包
   Net 下的:openssh,openssl
   Base 下的:sed (若需要Eclipse,必须sed)
   Devel 下的:subversion(建议安装)
* svn command
* git command
* vs2010 professional


1、下载hadoop-2.7.1-src.tar.gz并解压到D根目录,建议文件名越短越好,太长windows报错

2、修改源文件hadoop-2.7.1-src\hadoop-common-project\hadoop-common\src\main\java\org\apache\hadoop\fs\FileUtil.java,防止出现权限错误

  private static void checkReturnValue(boolean rv, File p, 
                                       FsPermission permission
                                       ) throws IOException {
    //if (!rv) {
    //  throw new IOException("Failed to set permissions of path: " + p + 
    //                        " to " + 
    //                        String.format("%04o", permission.toShort()));
    //}
  }

3、可能会碰到hadoop-common-project\hadoop-common\src\main\native\native.sln编译不过去,主要是找不到zlib.h,手动打开sln,添加include路径即可

4、

* Maven 3.0 or later
* Findbugs 1.3.9 (if running findbugs)
* ProtocolBuffer 2.5.0
* CMake 2.6 or newer
这几个命令一定要加载PATH路径下面.

5、源文件根目录执行mvn package -Pdist,native-win,docs -DskipTests -Dtar等待build sucess

6、cd hadoop-maven-plugins,执行mvn install

7、嫌默认maven源下载慢的可以修改conf/settings.xml

<mirrors>
    <mirror>
		 <id>nexus-osc</id>
         <mirrorOf>*</mirrorOf>
		 <name>Nexusosc</name>
		 <url>http://maven.oschina.net/content/groups/public/</url>
    </mirror>
     
  </mirrors>

  <profiles>
	<profile>
       <id>jdk-1.8</id>
       <activation>
         <jdk>1.8</jdk>
       </activation>
       <repositories>
         <repository>
           <id>nexus</id>
           <name>local private nexus</name>
           <url>http://maven.oschina.net/content/groups/public/</url>
           <releases>
             <enabled>true</enabled>
           </releases>
           <snapshots>
             <enabled>false</enabled>
           </snapshots>
         </repository>
       </repositories>
       <pluginRepositories>
         <pluginRepository>
           <id>nexus</id>
          <name>local private nexus</name>
           <url>http://maven.oschina.net/content/groups/public/</url>
           <releases>
             <enabled>true</enabled>
           </releases>
           <snapshots>
             <enabled>false</enabled>
           </snapshots>
         </pluginRepository>
       </pluginRepositories>
     </profile>
  </profiles>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值