Apache DolphinScheduler中ZooKeeperCDH不兼容问题的解决方案

背景

看到Apache DolphinScheduler社区群有很多用户反馈和讨论这块问题,针对不兼容的问题,不仅需要自己重新编译各一个新包,而且因为默认是使用zk-3.8的配置,所以会出现不兼容问题。使用zk-3.4配置即可适配3.4.x

解决办法(一)

#切换到项目源码的根路径中执行

复制代码
mvn clean package -T 1C -Prelease '-Dmaven.test.skip=true' '-Dcheckstyle.skip=true' '-Dmaven.javadoc.skip=true' '-Dzk-3.4'

上述命令解释

复制代码
mvn clean package  依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。

指定多线程编译,可以增加~

拓展

复制代码
-Dmaven.compile.fork=true 表示开启多线程
mvn -T 4 install -- will use 4 threads
mvn -T 1C install -- will use 1 thread per available CPU core
mvn clean package -T 1C -Dmaven.compile.fork=true
-Prelease 是 Maven Release Plugin 的配置

Maven中-DskipTests和-Dmaven.test.skip=true的区别

在使用mvn package进行编译、打包时,Maven会执行src/test/java中的JUnit测试用例,有时为了编译过程中跳过测试步骤,会使用参数-DskipTests和-Dmaven.test.skip=true,这两个参数的主要区别是:

复制代码
-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。
-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。
-D参数
如果参数不存在于 pom.xml 文件中,它将被设置。如果参数已经存在 pom.xml 文件中,其值将被作为参数传递的值覆盖。

解决办法(二)

修改源码中的pom.xml配置文件

1、从github下载源码

直接访问https://github.com/,登陆之后搜索Apache DolphinScheduler!

在百度直接搜:

官网网址: https://github.com/apache/dolphinscheduler

选择 release版本

2、将下载好的zip包解压出来,并导入IDEA工具中
3、修改maven和jdk配置
4、MVN命令操作

根目录执行

mvn clean package -T 1C -Prelease '-Dmaven.test.skip=true' '-Dcheckstyle.skip=true' '-Dmaven.javadoc.skip=true' '-Dzk-3.4'

报错如下

Failed to execute goal com.diffplug.spotless:spotless-maven-plugin:2.27.2:check (default) on project dolphinscheduler: The following files had format violations:

这个是问题没有因为没有格式化代码,所以在校验的时候不通过

根据上面的提示只需要执行下命令:mvn spotless:apply就可以了

随后会刷屏,过一会就会出现如下图,完事了

再次根目录执行

mvn clean package -T 1C -Prelease '-Dmaven.test.skip=true' '-Dcheckstyle.skip=true' '-Dmaven.javadoc.skip=true' '-Dzk-3.4'

报错如下

从提示中可以看出来,com.github.eirslett:frontend-maven-plugin这个插件有问题

首先看看本地的maven仓库中,有没有把这个插件通过依赖下载出来

在** d:\IdeaProjects\dolphinscheduler-3.2.0-release\dolphinscheduler-ui\pom.xml****文件中**

把 标签全都删除掉,防止构建时用npm的方式下载插件。

再次根目录执行

mvn clean package -T 1C -Prelease '-Dmaven.test.skip=true' '-Dcheckstyle.skip=true' '-Dmaven.javadoc.skip=true' '-Dzk-3.4'

可以看到,已经编译成功了。找到打好包生成的目标文件,位置是:项目源码目录\dolphinscheduler-dist\target

我的位置是 D:\IdeaProjects\dolphinscheduler-3.2.0-release\dolphinscheduler-dist\target

5、修改源码中的依赖配置

我不知道配置文件的指定的位置,在IDEA开发工具中按ctrl+shift+f组合键, 在项目所有文件中搜索:zookeeper.version

d:\\IdeaProjects\\dolphinscheduler-3.2.0-release\\dolphinscheduler-bom\\pom.xml文件中找到

修改一下源码,修改后如下图所示

根目录执行

复制代码
mvn clean package -T 1C -Prelease '-Dmaven.test.skip=true' '-Dcheckstyle.skip=true' '-Dmaven.javadoc.skip=true'

可以看到,已经编译成功了。希望本文能帮助更多用户解决问题,如果您对这个话题感兴趣,欢迎来社区交流!

本文由 白鲸开源科技 提供发布支持!

相关推荐
不会c+13 分钟前
Elasticsearch入门
大数据·elasticsearch·搜索引擎
数据知道25 分钟前
PostgreSQL 实战:一文掌握如何优雅的进行递归查询?
大数据·数据库·postgresql
重生之绝世牛码40 分钟前
Linux软件安装 —— ClickHouse单节点安装(rpm安装、tar安装两种安装方式)
大数据·linux·运维·数据库·clickhouse·软件安装·clickhouse单节点
AIFQuant1 小时前
如何通过股票数据 API 计算 RSI、MACD 与移动平均线MA
大数据·后端·python·金融·restful
MasonYyp1 小时前
DSPy优化提示词
大数据·人工智能
happyboy19862111 小时前
2026 大专大数据技术专业零基础能考的证书有哪些?
大数据
大公产经晚间消息1 小时前
天九企服董事长戈峻出席欧洲经贸峰会“大进步日”
大数据·人工智能·物联网
治愈系科普2 小时前
数字化种植牙企业
大数据·人工智能·python
AI数据皮皮侠2 小时前
中国植被生物量分布数据集(2001-2020)
大数据·人工智能·python·深度学习·机器学习
重生之绝世牛码2 小时前
Linux软件安装 —— PostgreSQL集群安装(主从复制集群)
大数据·linux·运维·数据库·postgresql·软件安装·postgresql主从集群