Windows11编译Hadoop3.3.6源码

由于https://github.com/kontext-tech/winutils还未发布3.3.6版本,因此尝试源码编译。
本文 hadoop-3.3.6 编译后 winutils 等文件获取 GitHub 地址

环境和安装包准备,见2

zlib编译

方法一:
  • VS2010打开zlib路径\contrib\vstudio\vc10\zlibvc.sln

zlib的vs sln解决方案文件包含6个工程。其中:
(1). zlibvc生成动态链接库zlibwapi.dll和对应的导入库zlibwapi.lib
(2). zlibstat生成静态链接库zlibstat.lib
(3). testzlibdll测试生成的动态链接库zlibwapi.dll
(4). testzlib测试生成的静态链接库zlibstat.lib

  • debug模式下编译zlibvczlibstat,在zlib路径\contrib\vstudio\vc10\x64\ZlibStatDebugZlibDllDebug文件夹中获取编译生成的文件

    zlib1

  • 将这三个文件存入单独的文件夹中,将路径加入系统环境变量path

方法二:

VS命令行工具进入到zlib根目录,执行 nmake -f win32/Makefile.msc ,在根目录下生成:zlib.lib(静态库) zdll.lib(动态库的导入库) zlib1.dll(动态库)

zlib2

配置文件更改

1. maven阿里云镜像

修改apache-maven-3.9.5路径\conf\settings.xml文件镜像mirrors节点,使用阿里云仓库,添加如下代码。

    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

不更改会很慢,亲测!!!

2. Node版本
  • 编辑hadoop-3.3.6-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-applications\hadoop-yarn-applications-catalog\hadoop-yarn-applications-catalog-webapppom.xml文件
  • findnodeVersion,将<nodeVersion>${nodejs.version}</nodeVersion>改为自己的node版本<nodeVersion>v21.2.0</nodeVersion>
  • 如果不更改会出现错误如下。
[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:1.11.2:yarn (yarn install) on project 
hadoop-yarn-applications-catalog-webapp: Failed to run task: 'yarn ' failed. 
org.apache.commons.exec.
ExecuteException: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
3. 越过Javadoc检查
  1. pom.xml中禁用严格检查<additionalparam>-Xdoclint:none</additionalparam>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <configuration>
      <additionalparam>-Xdoclint:none</additionalparam>
    </configuration>
  </plugin>
</plugins>

特别是hadoop-3.3.6-src\hadoop-common-project\hadoop-annotations\pom.xml需要更改,否则会出现如下错误。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:3.0.1:jar (module-javadocs) on project hadoop-annotations: MavenReportException: Error while generating Javadoc:
  1. mvn命令构建时跳过 Javadoc
    mvn 其他参数 -Dmaven.javadoc.skip=true verify

编译Hadoop

  • VS命令行工具cd Hadoop文件夹

  • 执行命令mvn clean package -Pdist,native-win -DskipTests -Dtar -Dmaven.javadoc.skip=true

编译成功
  • 编译后文件目录为hadoop-3.3.6-src\hadoop-dist\target
    dist

Error,其他报错见3

  1. RelWithDebInfo does not exist
hadoop-hdfs-project\hadoop-hdfs-native-client\target\native\bin\RelWithDebInfo does not exist

错误是这个目录不存在,则在hadoop-hdfs-project\hadoop-hdfs-native-client\target\native下手动创建这个目录,并根据提示在重新执行命令时添加参数-rf :hadoop-hdfs-native-client,如下。
mvn package -Pdist,native-win -DskipTests -Dtar -Dmaven.javadoc.skip=true -rf :hadoop-hdfs-native-client

  1. hadoop-hdfs-native-client
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.x:run (make) on project hadoop-hdfs-native-client: An Ant BuildException has occured: exec returned: 1
[ERROR] around Ant part ...<exec failonerror="true" dir="hadoop路径\hadoop-hdfs-project\hadoop-hdfs-native-client\target/native" executable="cmake">

修改hadoop-hdfs-project\hadoop-hdfs-native-client\pom.xml文件failonerror的值true为false

failonerror

  1. convert-ms-winutils
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.1:exec (convert-ms-winutils) on project hadoop-common: Command execution failed.: Process exited with an error: 1 (Exit value: 1) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.1:exec (convert-ms-winutils) on project hadoop-common: Command execution failed.`
  • 添加环境变量 C:\Windows\Microsoft.NET\Framework64\v4.0.30319
  • 或修改冲突文件名,确定引用 C:\Windows\Microsoft.NET\Framework64\v4.0.30319文件
    cvtres

相关文章:

  1. windows上编译hadoop
  2. Windows10 Hadoop3.3.0源码编译
  3. Hadoop 3.2.1 win10 64位系统 vs2015 编译
  4. Hadoop源码编译打包
  5. hadoop源码编译
  6. Windows 7 64bit和Visual Studio 2010下安装及使用Zlib 1.2.5
  7. VS2010 编译 Zlib库-1.2.11(zip解压库)
  8. Windows中zlib的安装与配置
  9. Unable to build Maven project due to Javadoc error?
  10. maven项目install时候一直报错,检查Maven-javadoc-plugin声明错误(Java 8 配置Maven-javadoc-plugin)或者是:警告: @throws 没有说明
  11. Windows7-64编译hadoop-3.2.0
  12. Hadoop on Windows Building/ Installation Error
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355

推荐阅读更多精彩内容