Flink CDC编译问题之编译impala失败如何解决

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: Flink CDC编译指的是将Flink CDC源代码转换成可执行程序的过程,可能会涉及到依赖管理和环境配置等问题;本合集将介绍Flink CDC编译的步骤、常见错误及其解决办法,以确保顺利完成编译过程。

问题一:Flink CDC中dinky 整库同步pg到hudi,知道这是什么原因?

问题1:Flink CDC中dinky 整库同步pg到hudi,知道这是什么原因?

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hudi.configuration.FlinkOptions

问题2:pg整库同步到hudi并同步到hive网上下载的包hudi-flink1.13-bundle-0.13.1.jar,放在dinky插件和上传到hdfs上,就报这个错,这个包需要自己编译?



参考答案:

"回答1:要么没包,要么包冲突。第一步走的是配置文件加载,直接是找不到这个文件加载类org.apache.hudi.configuration.FlinkOptions

回答2: 将 Flink 集群上已扩展好的 Connector 直接放入 Dlink 的 lib 或者 plugins 下,然后重启即可。定制 Connector 过程同 Flink 官方一样。我理解这是需要放两个地方?一个flink的集群,一个在 Dlink 的 lib 或者 plugins。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/541257?spm=a2c6h.13066369.question.41.61ee1fbatcYav4



问题二:Flink CDC中 为什么这么写编译不过?

"Flink CDC中 为什么这么写编译不过?

CREATE TABLE RMS_STORAGE_OUT_CARDS(

C_ID INT,

C_STORAGE_OUT_ITEM_ID INT,

C_CARD_NUMBER STRING,

C_GOODS_ID INT,

C_STATUS INT,

C_CREATEDBY STRING,

C_CREATEDON TIMESTAMP,

C_CHANNEL_CODE STRING,

C_HOSPID STRING,

proc_time AS PROCTIME(),

PRIMARY KEY (C_ID) NOT ENFORCED

) WITH (

'connector' = 'oracle-cdc',

'hostname' = 'oracle12cdb.xxxx.com',

'port' = '1521',

'username' = 'misnew',

'password' = 'mis32006',

'database-name' = 'XXXXRAC',

'schema-name' = 'RMS',

'debezium.log.mining.strategy' = 'online_catalog',

'debezium.log.mining.continuous.mine' = 'true',

'debezium.include.schema.changes' = 'false',

'scan.incremental.snapshot.chunk.key-column' = 'C_ID',

'scan.incremental.snapshot.chunk.size' = '80960' ,

'scan.snapshot.fetch.size' = '1024',

'table-name' = 'RMS_STORAGE_OUT_CARDS'

);

CREATE TABLE RMS_GOODS_BATCH(

C_ID INT,

C_NAME STRING,

C_OUTER_ID INT,

C_TYPE INT,

C_CARDTYPE INT,

C_START_DATE TIMESTAMP,

C_END_DATE TIMESTAMP,

C_PRICE DECIMAL(10,2),

C_GOODS_ID INT,

C_ENABLE INT,

C_FLAG INT,

C_SMS_TPL STRING,

C_CREATEDBY STRING,

C_CREATEDON TIMESTAMP,

C_OP_USER STRING,

C_OP_TIME TIMESTAMP,

PRIMARY KEY (C_ID) NOT ENFORCED

) WITH (

'connector' = 'jdbc',

'url' = 'jdbc:oracle:thin:@oracle12cdb.xxxx.com:1521:xxxxrac',

'driver' = 'oracle.jdbc.driver.OracleDriver',

'username' = 'misnew',

'password' = 'mis32006',

'table-name' = 'RMS.RMS_GOODS_BATCH'

);

CREATE TABLE RMS_STORAGE_OUT_ITEM(

C_ID INT,

C_STORAGE_OUT_ID INT,

C_SALE_ITEM_ID INT,

C_BATCH_ID STRING,

C_GOODS_ID INT,

C_GOODS_CODE STRING,

C_SALE_PRICE DECIMAL(10,2),

C_CARD_TYPE STRING,

C_GOODS_NAME STRING,

C_AMOUNT INT,

C_REMARK STRING,

C_PRICE DECIMAL(10,2),

C_CHARGE_TYPE INT,

C_CHARGE_ID INT,

PRIMARY KEY (C_ID) NOT ENFORCED

) WITH (

'connector' = 'jdbc',

'url' = 'jdbc:oracle:thin:@oracle12cdb.xxxx.com:1521:xxxxrac',

'driver' = 'oracle.jdbc.driver.OracleDriver',

'username' = 'misnew',

'password' = 'mis32006',

'table-name' = 'RMS.RMS_STORAGE_OUT_ITEM'

);

CREATE TABLE sink_rms_storage_out_cards (

C_ID INT,

C_CARD_NUMBER STRING,

C_STATUS INT,

C_CREATEDBY STRING,

C_CREATEDON TIMESTAMP,

C_CHANNEL_CODE STRING,

C_HOSPID STRING,

CARD_TYPE INT,

SALE_PRICE DECIMAL(10,2),

C_CHARGE_TYPE INT,

PRIMARY KEY (C_ID) NOT ENFORCED

) WITH (

'connector' = 'jdbc',

'url' = 'jdbc:mysql://10.108.37.132:3306/test',

'driver' = 'com.mysql.cj.jdbc.Driver',

'username' = 'root',

'password' = '123456',

'table-name' = 'rms_storage_out_cards2');

insert into sink_rms_storage_out_cards

select

o.C_ID ,

o.C_CARD_NUMBER ,

o.C_STATUS ,

o.C_CREATEDBY ,

o.C_CREATEDO

"



参考答案:

你sql写的不对,当然有问题。

insert into sink_rms_storage_out_cards

select

o.C_ID ,

o.C_CARD_NUMBER ,

o.C_STATUS ,

o.C_CREATEDBY ,

o.C_CREATEDON ,

o.C_CHANNEL_CODE ,

o.C_HOSPID ,

b.C_TYPE ,

i.C_SALE_PRICE ,

i.C_CHARGE_TYPE

from

(

select C_ID

,C_CARD_NUMBER

,C_STATUS

,C_CREATEDBY

,C_CREATEDON

,C_CHANNEL_CODE

,C_HOSPID

,C_STORAGE_OUT_ITEM_ID

,cast(C_STORAGE_OUT_ITEM_ID as string) as C_STORAGE_OUT_ITEM_ID2

from RMS_STORAGE_OUT_CARDS

) AS o

LEFT JOIN

BATCH_ID FROM RMS_STORAGE_OUT_ITEM FOR SYSTEM_TIME AS OF o.proc_time AS i

ON o.C_STORAGE_OUT_ITEM_ID2 = i.C_ID

LEFT JOIN

RMS_GOODS_BATCH FOR SYSTEM_TIME AS OF o.proc_time AS b

ON i.BATCH_ID = b.C_ID

;

o表忘了加proc_time,自己手机加下



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/536095?spm=a2c6h.13066369.question.42.61ee1fbafd3iq2



问题三:大佬们,请教一个Flink CDC问题。我使用flink1.15.4版本,使用的是自编译的mysq?

大佬们,请教一个Flink CDC问题。我使用flink1.15.4版本,使用的是自编译的mysql-cdc-2.3-SNAPSHOT。我们之前用mysql5.7,使用mysql cdc同步数据时,配置了'server-id'='6601-6616',一个flink 作业同时同步16张表,这个配置在mysql 5.7是可行的。最近我们把mysql升级到了8.0版本,这个配置就失效了,会报“A slave with the same server_uuid/server_id as this slave has connected to the master; ”,检查mysql是没有同server_id冲突的,判断是cdc的问题。'server-id'='6601',逐个起作业是可以的,但这样会导致有16个实例在读binlog,流量和负载都加了16倍。请教一下,这个问题社区里有遇到过吗?我在社区FQA文档没有找到这种问题。有空的话,麻烦回复一下,不胜感谢!



参考答案:

供参考:

数据同步不完整或者不准确:如果数据同步不完整或者不准确,可能是因为数据源或者目标存储存在问题,需要检查数据源和目标存储的配置和状态,以及 Flink CDC 的配置和日志信息,找出问题的根源,并进行相应的调整和修复。

性能问题:如果 Flink CDC 的性能较低,可能是因为并发度、批处理大小、数据源等因素导致的。需要根据实际情况调整并发度、批处理大小等参数,并考虑使用增量同步等策略,以提高性能。

版本兼容性问题:如果 Flink CDC 的版本与数据源或者目标存储不兼容,可能会导致一些问题,如无法连接、无法同步数据等。需要根据实际情况选择合适的版本,并进行相应的配置和调整。

其他问题:如果出现其他问题,可以根据具体的错误信息和日志信息,找出问题的根源,并进行相应的调整和修复。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/531421?spm=a2c6h.13066369.question.43.61ee1fbaEmctSB



问题四:Flink CDC中有人编译安装过 impala4.x版本么?非CDH安装方式;

Flink CDC中有人编译安装过 impala4.x版本么?非CDH安装方式;



参考答案:

我没有编译安装过 impala4.x 版本,但是我找到了一个参考链接:https://www.jianshu.com/p/5ebb623f6170。这个链接介绍了如何编译安装 impala4.x 版本,你可以参考一下。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/526025?spm=a2c6h.13066369.question.46.61ee1fbaIP2HvJ



问题五:Flink CDC中有人编译过 impala么? https://native-toolchain.s3.amazonaws.com 官方的这个Maven 地址一直是403 有解决过的大佬么?

Flink CDC中有人编译过 impala么? https://native-toolchain.s3.amazonaws.com 官方的这个Maven 地址一直是403 有解决过的大佬么?



参考答案:

我可以提供一些一般性的建议:

  1. 确认网络访问:首先,请确保您的网络连接正常,可以正常访问https://native-toolchain.s3.amazonaws.com。如果无法访问,可能是网络问题或AWS的访问限制。
  2. 检查依赖是否更新:尝试从其他来源获取Maven依赖,比如使用其他可用的Maven镜像,或者查找其他可用的Impala相关的Maven仓库。
  3. 寻求社区支持:Flink和Impala都拥有活跃的社区,您可以尝试在相关论坛、邮件列表或社交媒体上咨询是否有人遇到类似问题,并寻求解决方案。

另外,如果您对具体问题有更多细节或者错误信息,我可以尝试提供更详细的建议。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/522244?spm=a2c6h.13066369.question.47.61ee1fbaf40joq

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
1月前
|
Java 开发工具 流计算
flink最新master代码编译出现Java Runtime Environment 问题
在尝试编译Flink源码时遇到Java运行时环境致命错误:EXCEPTION_ACCESS_VIOLATION。问题出现在JVM.dll+0x88212。使用的是Java 11.0.28和Java HotSpot(TM) 64-Bit Server VM。系统为Windows客户端,没有生成核心dump文件。错误日志保存在hs_err_pid39364.log和replay_pid39364.log。要解决这个问题,建议检查JDK版本兼容性,更新JDK或参照错误报告文件提交Bug至http://bugreport.java.com/bugreport/crash.jsp。
|
2月前
|
消息中间件 Java Kafka
Flink CDC 在外部查询某个 job 中的表数据
【2月更文挑战第27天】Flink CDC 在外部查询某个 job 中的表数据
44 5
|
2月前
|
API 数据库 流计算
有大佬知道在使用flink cdc实现数据同步,如何实现如果服务停止了对数据源表的某个数据进行删除操作,重启服务之后目标表能进行对源表删除的数据进行删除吗?
【2月更文挑战第27天】有大佬知道在使用flink cdc实现数据同步,如何实现如果服务停止了对数据源表的某个数据进行删除操作,重启服务之后目标表能进行对源表删除的数据进行删除吗?
60 3
|
2月前
|
自然语言处理 Java Scala
Flink CDC产品常见问题之大文件整库同步怎么解决
Flink CDC产品常见问题之大文件整库同步怎么解决
|
4天前
|
SQL 运维 Cloud Native
基于OceanBase+Flink CDC,云粒智慧实时数仓演进之路
本文讲述了其数据中台在传统数仓技术框架下做的一系列努力后,跨进 FlinkCDC 结合 OceanBase 的实时数仓演进过程。
180 2
 基于OceanBase+Flink CDC,云粒智慧实时数仓演进之路
|
27天前
|
SQL 运维 DataWorks
Flink CDC在阿里云DataWorks数据集成应用实践
本文整理自阿里云 DataWorks 数据集成团队的高级技术专家 王明亚(云时)老师在 Flink Forward Asia 2023 中数据集成专场的分享。
518 2
Flink CDC在阿里云DataWorks数据集成应用实践
|
2月前
|
消息中间件 Kafka 流计算
如果有多个版本的Flink CDC在同一环境中运行,可能会导致Debezium版本冲突
【2月更文挑战第30天】如果有多个版本的Flink CDC在同一环境中运行,可能会导致Debezium版本冲突
22 2
|
2月前
|
消息中间件 API Apache
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
本文整理自阿里云开源大数据平台徐榜江 (雪尽),关于阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会。
1624 2
官宣|阿里巴巴捐赠的 Flink CDC 项目正式加入 Apache 基金会
|
2月前
|
Java 关系型数据库 MySQL
Flink CDC有见这个报错不?
【2月更文挑战第29天】Flink CDC有见这个报错不?
29 2
|
2月前
|
存储 数据库 流计算
Flink CDC 3.0 对于字符串类型的切片键(sharding key)确实存在一些问题
【2月更文挑战第29天】Flink CDC 3.0 对于字符串类型的切片键(sharding key)确实存在一些问题
18 5

相关产品

  • 实时计算 Flink版