Windows11编译Hadoop3.3.6源码

由于https://github.com/kontext-tech/winutils还未发布3.3.6版本,因此尝试源码编译

目录

  • 环境和安装包准备,见2
  • zlib编译
          • 方法一:
          • 方法二:
  • 配置文件更改
          • 1. maven阿里云镜像
          • 2. Node版本
          • 3. 越过Javadoc检查
  • 编译Hadoop
  • Error,其他报错见3

环境和安装包准备,见2

  • Git-2.43.0-64-bit.exe
  • jdk-21_windows-x64_bin.exe
  • node-v21.2.0-x64.msi
  • apache-ant-1.10.14-bin.zip
  • apache-maven-3.9.5-bin.zip
  • protoc-25.1-win64.zip
  • cmake-3.28.0-rc5-windows-x86_64.zip
  • GetGnuWin32-0.6.3.exet
  • zlib.tar.gz
  • Visual Studio 2010 Professional
  • hadoop-3.3.6-src.tar.gz

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

  • 编译成功
    success

  • 编译后文件目录为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. 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没有说明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/183386.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript中的异步处理方法

JavaScript中的异步处理是开发者在日常开发过程中必须面对的一个重要问题。由于JavaScript是单线程的&#xff0c;因此对于一些可能需要长时间执行的操作&#xff0c;如网络请求、IO操作等&#xff0c;如果采用同步的方式&#xff0c;可能会导致应用程序的阻塞&#xff0c;降低…

科研学习|论文解读——Deep learning for anomaly detection in log data: a survey

摘要 自动日志文件分析能够及早发现系统故障等相关事件。特别是&#xff0c;自学习异常检测技术能够捕捉日志数据中的模式&#xff0c;然后向系统操作员报告意外的日志发生&#xff0c;而无需提前提供或手动建模异常场景。最近&#xff0c;越来越多的利用深度学习方法来实现此目…

【Java】JDBC 之 PreparedStatement 和 Statement 的区别和理解【转载并梳理】

一、PreparedStatement 和 Statement 的含义和区别 1、含义 PreparedStatement&#xff1a;PreparedStatement 是预编译的&#xff0c;对于批量处理可以大大提高效率&#xff0c;也叫 JDBC存储过程。Statement&#xff1a;使用 Statement 对象&#xff0c;在对数据库只执行一…

ExoPlayer - Failed to initialize OMX.qcom.video.decoder.avc

人莫鉴于流水而鉴于止水&#xff0c;唯止能止众止 1. 背景 使用ExoPlayer&#xff0c;我不信你没遇到过这个问题&#xff1a; java.lang.IllegalArgumentException: Failed to initialize OMX.qcom.video.decoder.avc 详细内容如下图所示&#xff1a; 2. MediaCodec(解码器) …

ArkUI框架中的PersistentStorage和Environment深入详解【鸿蒙专栏-13】

文章目录 ArkUI框架中的PersistentStorage和EnvironmentPersistentStorage:保持状态的长存储概述限制条件使用场景初始化和访问属性示例流程图注意事项Environment:设备环境查询使用场景从UI中访问Environment参数应用逻辑使用Environment深入ArkUI框架的持久化存储与设备环境…

FastApi接收不到Apifox发送的from-data字符串_解决方法

接收不到Apifox发送的from-data字符串_解决方法 问题描述解决方法弯路总结弯路描述纵观全局小结 问题描述 这里写了一个接口&#xff0c;功能是上传文件&#xff0c;接口参数是file文件和一个id字符串 gpt_router.post("/uploadfiles") async def create_upload_fi…

使用Feign简化Spring Boot微服务间的调用

摘要&#xff1a; 在微服务架构中&#xff0c;服务间的通信是至关重要的。Spring Cloud提供了多种工具&#xff0c;其中Feign是一款声明式的Web服务客户端&#xff0c;能够显著简化服务调用的过程。本文将详细介绍在Spring Boot应用中如何使用Feign进行微服务之间的调用。 正文…

配置自动化部署Jenkins和Gitea

配置自动化部署 这里使用的是JenkinsGitea 如果不知道怎么安装Jenkins和Gitea可以参考下面文章 https://blog.csdn.net/weixin_46533577/article/details/134644144 我的另一篇文章 介绍 前端 先说下自己的情况&#xff0c;因为自己服务器原因&#xff0c;使用的服务器内…

防篡改,Tripwire的快速安装与简洁使用

防篡改Tripwire 一、安装 1.准备&#xff08;centos7的yum不带tripwire&#xff09; wget https://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm rpm -ivh epel-release-7-14.noarch.rpm yum -y install tripwire另一个方法 cd /etc/yum.rep…

面向对象的四大特性:封装、抽象、继承、多态

封装&#xff08;Encapsulation&#xff09; 封装也叫作信息隐藏或者数据访问保护。类通过暴露有限的访问接口&#xff0c;授权外部仅能通过类提供的方式来访问内部信息或者数据。它需要编程语言提供权限访问控制语法来支持&#xff0c;例如 Java 中的 private、protected、pu…

Linux基础项目开发1:量产工具——输入系统(三)

前言&#xff1a; 前面我们已经实现了显示系统&#xff0c;现在我们来实现输入系统&#xff0c;与显示系统类似&#xff0c;下面让我们一起来对输入系统进行学习搭建吧 目录 一、数据结构抽象 1. 数据本身 2. 设备本身&#xff1a; 3. input_manager.h 二、触摸屏编程 to…

Mysq8l在Centos上安装后忘记root密码如何重新设置

场景 Mysql8在Windows上离线安装时忘记root密码&#xff1a; Mysql8在Windows上离线安装时忘记root密码-CSDN博客 如果是在Windows上忘记密码可以参考上面。 如果在Centos中安装mysql可以参考下面。 CentOS7中安装Mysql8并配置远程连接和修改密码等&#xff1a; CentOS7中…

BEVFormer【人工智能】

BEVFormer 是一篇今年中稿 ECCV 2022 的论文&#xff0c;其中提出了一种纯视觉&#xff08;camera&#xff09;感知任务的算法模型&#xff0c;用于实现3D目标检测和地图分割任务。该算法通过提取环视相机&#xff08;Bird’s Eye View Camera&#xff09;采集到的图像特征&…

阿里云Windows server2016 安装Docker

阿里云Windows server2016 安装Docker 1 软件环境介绍2 下载更新2.1 windowsR 输入sconfig2.2 下载最新版的安装包&#xff0c;安装并重启2.3 下载并安装更新2.4 以管理员方式运行powershell2.5 将Tls修改成二级2.6 安装NuGet服务2.7 安装docker模块2.7 安装 docker包 32.8 查看…

Reactor模式

Reactor模式有点类似事件驱动模式。在事件驱动模式中&#xff0c;当有事件触发时&#xff0c;事件源会将事件分发到Handler&#xff08;处理器&#xff09;&#xff0c;由Handler负责事件处理。Reactor模式中的反应器角色类似于事件驱动 模式中的事件分发器&#xff08;Dispatc…

解析Top-K问题及堆排序算法

Top-K问题是在海量数据中找到最大或最小的K个元素&#xff0c;它在实际应用中非常常见&#xff0c;例如专业前10名、世界500强、富豪榜、游戏中前100的活跃玩家等。在面对大规模数据时&#xff0c;直接对数据进行排序可能效率低下&#xff0c;因为排序的时间复杂度通常为O(n lo…

lxd提权

lxd/lxc提权 漏洞介绍 lxd是一个root进程&#xff0c;它可以负责执行任意用户的lxd&#xff0c;unix套接字写入访问操作。而且在一些情况下&#xff0c;lxd不会调用它的用户权限进行检查和匹配 原理可以理解为用用户创建一个容器&#xff0c;再用容器挂载宿主机磁盘&#xf…

ZooKeeper的分布式锁---客户端命令行测试(实操课程)

本系列是zookeeper相关的实操课程&#xff0c;课程测试环环相扣&#xff0c;请按照顺序阅读测试来学习zookeeper。阅读本文之前&#xff0c;请先阅读----​​​​​​zookeeper 单机伪集群搭建简单记录&#xff08;实操课程系列&#xff09;。 阅读本文之前&#xff0c;请先阅读…

在macOS上使用Homebrew安装PHP的完整指南

安装最新版本的PHP 步骤1: 安装Homebrew 在安装最新版本的PHP之前&#xff0c;确保你的macOS系统上已经安装了Homebrew。如果尚未安装&#xff0c;打开终端并运行以下命令&#xff1a; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install…

线性表——(2)线性表的顺序存储及其运算的实现

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 看到美好&#xff0c;感受美好&a…