准备工作 因为在编译时需要下载许多依赖包,在执行编译前最好先配置下代理仓库 nexus-aliyun * Nexus aliyun https://Maven.aliyun.co
因为在编译时需要下载许多依赖包,在执行编译前最好先配置下代理仓库
nexus-aliyun
*
Nexus aliyun
https://Maven.aliyun.com/repository/public
因为flink依赖flink-shaded工程,基本的依赖项都是在这个工程里面定义的,所以要先编译这个工程
在写文章时,最新的release版本是8.0,里面用的hadoop及ZooKeeper对应版本如下
1.8.2
1.7.15
1.2.17
2.4.1
3.4.10
1.3.9
将hadoop和zk改成自己CDH6.2.0对应的版本,修改flink-shaded-hadoop-2工程的pom文件
1.8.2
1.7.15
1.2.17
3.0.0
3.4.5
1.3.9
修改flink-shaded-hadoop-2和flink-shaded-hadoop-2-uber工程中依赖的外部变量名称
flink-shaded-hadoop-2-uber
flink-shaded-hadoop-2-uber
jar
${hadoop.version}-9.0
flink-shaded-hadoop-2
flink-shaded-hadoop-2
jar
${hadoop.version}-9.0
进入flink-shaded目录执行编译
mvn clean install -DskipTests -Drat.skip=true -Pvendor-repos -Dhadoop.version.cdh=3.0.0
效果图
修改对应的hadoop和flink.shaded.version值为我们需要的值
3.0.0
...
7.0
9.0
...
3.0.0
因为只想更新hadoop的版本,所以依赖的其他flink-shaded版本不做变更,以下jackson举例说明,还是用旧的版本(用最新的编译没有编译过)
org.apache.flink
flink-shaded-jackson
${jackson.version}-${flink.shaded.version.old}
org.apache.flink
flink-shaded-jackson-module-JSONSchema
${jackson.version}-${flink.shaded.version.old}
修改flink-connectors/flink-HBase中依赖的hbase版本号
2.1.2
之后需要修改这个工程中的AbstractTableInputFORMat.java,TableInputFormat.java以及junit中的编译错误
修改版本号
修改tools/change-version.sh中新旧版本号
OLD="1.9-SNAPSHOT"
NEW="1.9-H3"
执行脚本change-version.sh
注释掉不需要编译的工程,因为这个编译太耗时间,可以把测试相关的包去掉
执行编译
mvn clean install -DskipTests -Pvendor-repos -Drat.skip=true -Pinclude-hadoop
编译结果
在工程中使用新编译出的版本
1.9-H3
对应修改后的代码地址GitHub 版本:release-1.9
--结束END--
本文标题: flink编译支持CDH6.2.0(hadoop3.0.0)
本文链接: https://www.lsjlt.com/news/3823.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0