【Bigtop】利用Bigtop3.2.0编译大数据组件RPM包

news2024/11/13 9:02:45

利用Bigtop3.2.0编译大数据组件RPM包

  • 前言
  • 正文
    • Mvn本地目录的修改
    • Flink
    • Kafka
      • grgit版本
      • 手动准备gradle的文件

前言

原文参考:Bigtop 从0开始

参考了上述的博文自己尝试了编译组件,过程还是遇到很多问题,一一记录,方便后人。

Bigtop项目官网:BigTop

正文

Mvn本地目录的修改

我在编译过程中启动bigtop镜像的时候,把mvn挂载的目录改了,因此要在修改/usr/local/maven/conf/settings.xml时填写相关配置信息,这个一定要注意,不然每次编译都重新下载依赖:

<localRepository>/root/.m2/repository/</localRepository>

Flink

这个是目前困扰我时间最久的一个组件,Flink的编译过程中,会去下载nodejs,但是nodejs.org被墙了,所以每次编译到runtime-web都会超时失败:

INFO: I/O exception (java.net.SocketException) caught when processing request to {s}-https://nodejs.org:443: Network is unreachable (connect failed)

在这里插入图片描述
解决办法是手动下载版本包放到mvn仓库下,但是这里有个坑,如果直接使用v16.13.2版本的node,会在这一步成功后,卡在下一步,并且报一个权限异常的问题:

/ws/build/flink/rpm/BuLD/flink-1.15.3/flink-runtime-web/web-dashboard/node/npm: Permission denied

在这里插入图片描述
因此,整体的解决方法是,修改flink源码包中的flink-runtime-web/pom.xml文件的npm部分为下面这样:

<plugin>
               <groupId>com.github.eirslett</groupId>
               <artifactId>frontend-maven-plugin</artifactId>
               <version>1.11.0</version>
               <executions>
                   <execution>
                       <id>install node and npm</id>
                       <goals>
                           <goal>install-node-and-npm</goal>
                       </goals>
                       <configuration>
                           <!--这里修改了node的版本-->
                           <nodeVersion>v12.22.1</nodeVersion>
                           <npmVersion>6.14.12</npmVersion>
                       </configuration>
                   </execution>
                   <execution>
                       <id>npm install husky</id>
                       <goals>
                           <goal>npm</goal>
                       </goals>
                       <configuration>
                           <arguments>install husky --registry=https://registry.npmmirror.com</arguments>
                       </configuration>
                   </execution>
                   <execution>
                       <id>npm install</id>
                       <goals>
                           <goal>npm</goal>
                       </goals>
                       <configuration>
                           <arguments>install --cache-max=0 --no-save --registry=https://registry.npmmirror.com</arguments>
                           <environmentVariables>
                               <HUSKY_SKIP_INSTALL>true</HUSKY_SKIP_INSTALL>
                           </environmentVariables>
                       </configuration>
                   </execution>
                   <execution>
                       <id>npm install local</id>
                       <goals>
                           <goal>npm</goal>
                       </goals>
                       <configuration>
                           <arguments>install --registry=https://registry.npmmirror.com --force</arguments>
                       </configuration>
                   </execution>
                   <execution>
                       <id>npmrun ci-check</id>
                       <goals>
                           <goal>npm</goal>
                       </goals>
                       <configuration>
                           <arguments>run ci-check</arguments>
                       </configuration>
                   </execution>
               </executions>
               <configuration>
                   <workingDirectory>web-dashboard</workingDirectory>
               </configuration>
           </plugin>

最主要的就是修改nodejs的版本,降到12.22.1手动把nodejs包放到mvn本地目录下:

在这里插入图片描述

这里注意下存放在本地的包版本号前不加v,手动下载的时候自带的名称里是有v的

这样就没啥大问题了,接着就是等待编译通过了,其他没遇到什么大问题:
在这里插入图片描述

Kafka

先执行一次kafka的编译,让编译流程自动把kafka的源码包下载下来,bigtop3.2.0分支对应的kafka版本是2.8.1

./gradlew kafka-clean kafka-pkg -PparentDir=/usr/bigtop -PpkgSuffix -PbuildThreads=16C repo 

然后我们开始做修改。

grgit版本

首先是grgit的版本要修改一下,默认用的4.1.0,对应的pom文件已经404了,对应PR在这里:MINOR: Bump version of grgit to 4.1.1

修改${SOURCE_CODE}/gradle/dependencies.gradle中grgit的版本:

versions += [
  activation: "1.1.1",
  apacheda: "1.0.2",
  apacheds: "2.0.0-M24",
  argparse4j: "0.7.0",
  bcpkix: "1.66",
  checkstyle: "8.36.2",
  commonsCli: "1.4",
  gradle: "6.8.1",
  gradleVersionsPlugin: "0.36.0",
  grgit: "4.1.1", // 修改这一行
  httpclient: "4.5.13",
]

在这里插入图片描述

手动准备gradle的文件

先手动下载gradle-wrapper.jar到${SOURCE_CODE}/gradle/wrapper/gradle-wrapper.jar,这里用的版本是6.8.1

curl -s -S --retry 3 -L -o "gradle-wrapper.jar"  https://mirror.ghproxy.com/https://raw.githubusercontent.com/gradle/gradle/v6.8.1/gradle/wrapper/gradle-wrapper.jar

然后把gradle-6.8.1-all.zip文件准备好,做成个http的服务,我这里直接用python启了一个SimpleHTTPServer,接着我们修改${SOURCE_CODE}/gradle/wrapper/gradle-wrapper.properties文件:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
# 修改这里为对应的http服务
distributionUrl=http://172.18.2.31:444/gradle-6.8.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

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

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

相关文章

【方案】智慧排水系统解决方案(doc原件)

一、项目建设目标 二、项目主要内容 三、项目建设方案 1.GIS管理子系统 &#xff08;1&#xff09; 数据管理和访问 &#xff08;2&#xff09; 地图操作功能 &#xff08;3&#xff09; 地图查询定位功能 &#xff08;4&#xff09; 其他功能 2.工程管理子系统 &#xff08;1&…

免费分享!算法备案流程以及所需资料

免费分享&#xff01;算法备案流程以及所需资料 在国内&#xff0c;随着《生成式人工智能服务管理暂行办法》的出台&#xff0c;这一规定明确指出&#xff0c;任何面向中国公众提供具备舆论影响力或社会动员潜力的生成式AI服务&#xff0c;都必须经过严格的算法备案程序。 这就…

有关于算法备案的五大误区

有关于算法备案的五大误区 在这个数据为王的时代&#xff0c;算法已然成为推动社会前进的隐形巨轮。从搜索框中的每一次点击&#xff0c;到购物车里的每一件商品推荐&#xff0c;再到朋友圈里刷屏的动态&#xff0c;算法的身影无处不在&#xff0c;悄无声息地编织着我们的数字生…

云HIS系统,利用云计算平台的技术优势,建立统一的健康档案和电子存储平台,实现医疗数据共享与交换

云HIS系统源码&#xff0c;医院信息管理系统源码&#xff0c;医疗云HIS源码 基于云计算技术的B/S架构的HIS系统&#xff0c;为医疗机构提供标准化的、信息化的、可共享的医疗信息管理系统&#xff0c;实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。系统利用云计…

项目经理都在用的五款项目管理工具(建议收藏)

在项目管理中&#xff0c;选择合适的工具对于确保项目成功至关重要。 以下是几款备受项目经理青睐的项目管理软件&#xff1a; 1、进度猫 进度猫是一款基于云端的项目管理工具&#xff0c;以其轻量级、直观和易操作的特点受到项目经理的青睐。它提供了丰富的功能和灵活的操…

如何安装和高级 AMP for WP

当 WordPress 是支持 AMP 的 WEB 站点时&#xff0c;主要通过两个插件支持 AMP。 一个是AMP插件。 这个插件也参与谷歌的开发&#xff0c;并被确认为AMP项目的官方插件。 我最初也安装了这个AMP插件&#xff0c;但我不知道是否能够共存的常规网站和AMP兼容网站&#xff0c;很难…

这只猴子一夜赚了15亿?

通过《黑神话》思考低代码平台的发展 《黑神话》的设计分析 《黑神话》作为一款大型3A游戏&#xff0c;其优化工作主要聚焦于提升游戏性能、增强画面表现以及提升玩家体验。这包括但不限于以下几个方面&#xff1a; 技术突破&#xff1a;游戏采用了前沿的技术手段&#xff0…

AppInventor2 文本输入框(TextBox)已支持文本变更事件,非常便于实时处理输入的内容

自 v2.70开始&#xff0c;文本输入框加入了文本变更事件&#xff1a; 效果如下&#xff1a; 文本事件.gif (99.17 KB, 下载次数: 3) 下载附件 昨天 19:57 上传 同理&#xff0c;密码输入框组件也是一样的。 原文&#xff1a;AppInventor2 文本输入框&#xff08;TextBox&a…

用Python实现9大回归算法详解——08. 随机森林回归算法

1. 随机森林回归的基本概念 随机森林回归&#xff08;Random Forest Regression&#xff09;是一种集成学习方法&#xff0c;基于多棵决策树的组合来进行预测。它通过引入随机性来构建多棵独立的决策树&#xff0c;并将这些树的预测结果进行平均&#xff0c;从而提升模型的泛化…

streeapptest 工具编译看 + 测试rk3568

首先来了解一下 stressappteset 网上的资料 压力测试不就是 内存的接口测试吗&#xff1f; 网上找了些资料&#xff0c;基本没有这个工具对于 磁盘网络的测试。 我的理解&#xff0c;压力测试应该指的就是 CPU内存的测试吧。 然后是 关于这个 软件的编译。 首先是下载 git c…

避雷!Springer、Cell等出版社旗下17本SCI/SSCI被剔除,含3本on hold期刊!

2024年8月19日&#xff0c;科睿唯安本年度第八次更新Web of Science核心期刊目录。 图片来源&#xff1a;科睿唯安 与上次更新&#xff08;2024年7月&#xff09;相比&#xff0c;此次更新后的SCIE、SSCI期刊目录共17本期刊发生变动&#xff0c;详情如下&#xff1a; 图片来源…

用ComfyUI打造一键换装神器,轻松搭建本地工作流!

前言 最近快手推出了一个一键换装的模型&#xff0c;还原度还挺高的&#xff0c;效果也很不错&#xff0c;于是自己上手用ComfyUI也搭建了一套这样的工作流&#xff0c;练练手&#xff0c;搭建出来之后发现效果也还挺不错的&#xff0c;分享给大家&#xff1a; 我们先来看看快…

基于插件机制、SPI与事件驱动的系统设计

时间&#xff1a;2024年08月26日 作者&#xff1a;小蒋聊技术 邮箱&#xff1a;wei_wei10163.com 微信&#xff1a;wei_wei10 音频地址:https://xima.tv/1_F4V6FW?_sonic0 希望大家帮个忙&#xff01;如果大家有工作机会&#xff0c;希望帮小蒋内推一下&#xff0c;小蒋希…

【html+css 绚丽Loading】 000018 五行伸缩剑

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽Loading&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495…

苹果手机忘记密码怎么办?解锁技巧分享

在数字时代&#xff0c;手机几乎成了我们生活的必需品&#xff0c;尤其是苹果手机&#xff0c;以其卓越的性能和流畅的体验赢得了众多用户的喜爱。然而&#xff0c;偶尔的疏忽可能导致我们忘记手机的锁屏密码&#xff0c;这时该怎么办呢&#xff1f;别担心&#xff0c;本文将为…

UWB Tag钥匙防丢器,精准定位测距,一键找回!告别钥匙遗失焦虑

在这个快节奏的时代&#xff0c;我们每天穿梭于家、办公室、商场之间&#xff0c;手中的钥匙串仿佛成了连接生活各个角落的纽带。但你是否也曾有过这样的经历&#xff1a;匆忙间&#xff0c;那串沉甸甸的钥匙似乎在某个不经意的瞬间与你“不辞而别”&#xff0c;留下的是无尽的…

10个企业网络安全建议,解决99%的网络安全问题

互联网时代&#xff0c;企业做好网络安全防护非常重要&#xff0c;一旦网络受到恶意攻击&#xff0c;可能会对企业造成一大笔不必要的经济损失。 那么互联网企业该如何做好网络安全防护呢&#xff1f;小墨在这里有10个建议&#xff1a; 1. 做好基础网络安全监测与防御 加…

【通俗理解】生物信息学数据分析——火山图、富集分析与PPI网络构建

【通俗理解】生物信息学数据分析——火山图、富集分析与PPI网络构建 关键词提炼 #火山图 #富集分析 #PPI网络 #R语言 #生物信息学 第一节&#xff1a;火山图、富集分析与PPI网络的核心概念 1.1 火山图 火山图是一种用于展示基因表达差异分析结果的图形&#xff0c;横轴表示…

视频美颜SDK与直播美颜插件的集成策略与性能优化方案详解

如何有效集成美颜技术&#xff0c;并在确保高性能的同时&#xff0c;实现优化&#xff0c;已成为开发者们亟待解决的问题。本文将从集成策略与性能优化两方面&#xff0c;详细解析视频美颜SDK与直播美颜插件的开发实践。 一、视频美颜SDK与直播美颜插件的集成策略 美颜SDK通常…

打工人 Excel 插件 - 电子表格智能辅助插件正版购买

接下来要给大家介绍的是&#xff1a;打工人 Excel 插件&#xff0c;支持 Win 平台&#xff0c;可用于增强 Office 和 WPS 表格功能&#xff0c;是我们提高工作效率、早日下班的神器&#xff01; 在工作表处理方面&#xff0c;这款插件能让你轻松你轻松搞定字数 / 地址拆分、正…