关于数据库:Apache-DolphinScheduler中ZooKeeperCDH不兼容问题的解决方案

73次阅读

共计 2391 个字符,预计需要花费 6 分钟才能阅读完成。

背景

看到 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 文件中

把 <goals> 标签全都删除掉,避免构建时用 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'

能够看到,曾经编译胜利了。心愿本文能帮忙更多用户解决问题,如果您对这个话题感兴趣,欢送来社区交换!

本文由 白鲸开源科技 提供公布反对!

正文完
 0