【记录】FlinkSql读写kudu 编译测试全流程 附带编译包下载

本文详细记录了FlinkSQL读写Kudu的全过程,包括下载源码、修改POM文件、编译、添加依赖、重启FlinkSession以及测试写入Kudu表的操作。在编译过程中,特别提到了需要一个特殊依赖async-1.4.1.jar,并提供了已编译好的jar包链接,适用于flink1.12.2和kudu1.10.0-cdh6.3.2环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前边:kudu性能就不多介绍了,是目前比较主流的数据库,但是可惜的是FLINKSQL居然不支持读写kudu,奇了怪。没办法,为了能写入只能自己动手了。经过查找发现有大佬已经开源过了,那么我们就在这个基础上进行就好了
在这里插入图片描述

一、软件版本

以下是我使用的版本。大家可以作为参考,然后根据自己的实际情况进行更改即可

CDH6.3.2
kudu 1.10.0-cdh6.3.2
Flink 1.12.2

二、前期准备

1、下载源码

git clone git://github.com/apache/bahir-flink

2、修改pom

1、首先调整根目录下的pom.xml文件
vim bahir-flink/pom.xml

首先是73-84行处,只留下flink-connector-kudu这个module,其他删掉
在这里插入图片描述
然后修改91-106行左右的版本,这里的版本修改为自己使用的版本
在这里插入图片描述

2、然后修改flink-connector-kudu的pom
vim bahir-flink/flink-connector-kudu/pom.xml

大约32-35行处的kudu版本修改为自己正在使用的版本
在这里插入图片描述
ps:如果是cdh版本的话,下方74-80行的kudu-binary版本直接写前缀即可,如下图所示:
在这里插入图片描述

三、开始编译

在bahir-flink目录下执行:

mvn clean install -DskipTests -Drat.skip=true

出现下图则表示执行成功在这里插入图片描述

四、添加依赖到Flink的lib目录下

编译结束后进入到 flink-connector-kudu/target 目录下
在这里插入图片描述
将框起来的这个文件放在Flink的lib目录下 注意:每台服务器的Flink目录下都要加
如果你配置的Flink的环境变量,可以参考我这种写法

cp flink-connector-kudu_2.11-1.1-SNAPSHOT.jar $FLINK_HOME/lib

五、增加一个特殊的依赖包async-1.4.1.jar

如果不添加这个依赖到FLink的lib目录下会报如下错误

2021-07-08 15:15:44
org.apache.flink.runtime.JobException: Recovery is suppressed by NoRestartBackoffTimeStrategy
	at org.apache.flink.runtime.executiongraph.failover.flip1.ExecutionFailureHandler.handle
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值