当前位置: 首页 > news >正文

Flink CDC (session模式)

1、

# Start YARN session
./bin/yarn-session.sh --detached

2、配置文件:

rest.bind-port: {{REST_PORT}}
rest.address: {{NODE_IP}}
execution.target: yarn-session
yarn.application.id: {{YARN_APPLICATION_ID}}

3、mysql-doris.yml

source:type: mysqlhostname: localhostport: 3306username: rootpassword: 123456tables: app_db.\.*server-id: 5400-5404server-time-zone: UTCsink:type: dorisfenodes: 127.0.0.1:8030username: rootpassword: ""pipeline:name: Sync MySQL Database to Dorisparallelism: 2

4、运行测试:

./bin/flink-cdc.sh mysql-to-doris.yaml

5、相关问题:

1、Caused by: java.lang.ClassCastException: cannot assign instance of com.starrocks.connector.flink.catalog.StarRocksCatalog to field org.apache.flink.cdc.connectors.starrocks.sink.StarRocksMetadataApplier.catalog of type com.starrocks.connector.flink.catalog.StarRocksCatalog in instance of org.apache.flink.cdc.connectors.starrocks.sink.StarRocksMetadataApplier

解决方案:

classloader.resolve-order: parent-first

2、

Caused by: org.apache.flink.runtime.JobException: Cannot instantiate the coordinator for operator Source: Flink CDC Event Source: mysql -> SchemaOperator -> PrePartition
        at org.apache.flink.runtime.executiongraph.ExecutionJobVertex.initialize(ExecutionJobVertex.java:229)
        at org.apache.flink.runtime.executiongraph.DefaultExecutionGraph.initializeJobVertex(DefaultExecutionGraph.java:914)
        at org.apache.flink.runtime.executiongraph.ExecutionGraph.initializeJobVertex(ExecutionGraph.java:218)
        at org.apache.flink.runtime.executiongraph.DefaultExecutionGraph.initializeJobVertices(DefaultExecutionGraph.java:896)
        at org.apache.flink.runtime.executiongraph.DefaultExecutionGraph.attachJobGraph(DefaultExecutionGraph.java:852)
        at org.apache.flink.runtime.executiongraph.DefaultExecutionGraphBuilder.buildGraph(DefaultExecutionGraphBuilder.java:207)
        at org.apache.flink.runtime.scheduler.DefaultExecutionGraphFactory.createAndRestoreExecutionGraph(DefaultExecutionGraphFactory.java:163)
        at org.apache.flink.runtime.scheduler.SchedulerBase.createAndRestoreExecutionGraph(SchedulerBase.java:365)
        at org.apache.flink.runtime.scheduler.SchedulerBase.<init>(SchedulerBase.java:210)
        at org.apache.flink.runtime.scheduler.DefaultScheduler.<init>(DefaultScheduler.java:136)
        at org.apache.flink.runtime.scheduler.DefaultSchedulerFactory.createInstance(DefaultSchedulerFactory.java:152)
        at org.apache.flink.runtime.jobmaster.DefaultSlotPoolServiceSchedulerFactory.createScheduler(DefaultSlotPoolServiceSchedulerFactory.java:119)
        at org.apache.flink.runtime.jobmaster.JobMaster.createScheduler(JobMaster.java:371)
        at org.apache.flink.runtime.jobmaster.JobMaster.<init>(JobMaster.java:348)
        at org.apache.flink.runtime.jobmaster.factories.DefaultJobMasterServiceFactory.internalCreateJobMasterService(DefaultJobMasterServiceFactory.java:123)
        at org.apache.flink.runtime.jobmaster.factories.DefaultJobMasterServiceFactory.lambda$createJobMasterService$0(DefaultJobMasterServiceFactory.java:95)
        at org.apache.flink.util.function.FunctionUtils.lambda$uncheckedSupplier$4(FunctionUtils.java:112)
        ... 4 more
Caused by: java.lang.NoClassDefFoundError: org/apache/flink/cdc/runtime/typeutils/EventTypeInfo
        at java.lang.Class.getDeclaredFields0(Native Method)
        at java.lang.Class.privateGetDeclaredFields(Class.java:2583)

解决方案:

cp /BigData/run/flink-cdc/lib/flink-cdc-dist-3.1.0.jar /BigData/run/flink/lib/

3、问题3

Caused by: org.apache.flink.table.api.ValidationException: The MySQL server has a timezone offset (28800 seconds ahead of UTC) which does not match the configured timezone UTC. Specify the right server-time-zone to avoid inconsistencies for time-related fields.

解决方案1:

jdbc:mysql://hostname:port/database?serverTimezone=UTC
解决方案2:

SET table.local-time-zone = 'Asia/Shanghai';  -- 或者你所需的时区

解决方案3:

CREATE TABLE my_table (
  ...
) WITH (
  'connector' = 'mysql-cdc',
  'hostname' = 'localhost',
  'port' = '3306',
  ...
  'server-time-zone' = 'Asia/Shanghai'  -- 或者你所需的时区
);
 

http://www.lryc.cn/news/428257.html

相关文章:

  • 下载ISO镜像的方法 Debian、Red Hat 、CentOS、Ubuntu、Kali Linux
  • 想学接口测试,不知道那个工具适合?
  • 干货分享 | TSMaster—RP1210模块使用指南
  • 一步解决Ubuntu中无法使用git clone的问题
  • c++的时间复杂度
  • PDF转图片 JAVA
  • 树莓派5 笔记26:ollama大型语言模型_中文输入法_Python_espeak文字转语音
  • 【kubernetes】k8s安全机制
  • Android T(13) The app is granted permissions by default
  • 4 - Linux远程访问及控制
  • 如何使用AWS EC2资源?
  • Linux高编-进程的概念(1)
  • go语言中new和make的区别
  • SpringBoot响应式编程(3)R2DBC
  • 什么是私有继承
  • Scratch编程:开启智能硬件控制的大门
  • 机器学习第十二章-计算学习理论
  • Java-自定义注解操作日志记录处理(@Pointcut注解不是必须的)
  • 【c++】深入理解别名机制--引用
  • 简便的qemu img扩容方法
  • EPERM: operation not permitted,
  • 将Centos 8 Linux内核版本升级或降级到指定版本
  • 小程序商城被盗刷,使用SCDN安全加速有用吗?
  • nginx的基本使用与其日志
  • linux | 苹果OpenCL(提高应用软件如游戏、娱乐以及科研和医疗软件的运行速度和响应)
  • 算法-UKF中Sigma点生成
  • 精选五款热门骨传导耳机分享,让你避免踩坑的陷阱
  • 「字符串」前缀函数|KMP匹配:规范化next数组 / LeetCode 28(C++)
  • python人工智能002:jupyter基本使用
  • Linux使用 firewalld管理防火墙命令