Flink-CDC 抽取SQLServer问题总结

Flink-CDC 抽取SQLServer问题总结

背景


flink-cdc 抽取数据到kafka 中,使用flink-sql进行开发,相关问题总结

flink-cdc 配置SQLServer cdc参数

  • 1.创建CDC 使用的角色, 并授权给其查询待采集数据数据库
 -- a.创建角色
create  role flink_role;-- b.授权给角色
grant select on SCHEMA::dbo to flink_role;-- c. 角色添加给数据库登陆用户
alter role flink_role add member 登陆用户;
  • 创建文件组,用于存储CDC捕获SQLServer需要的数据文件
 -- a. 查询文件组是否存在select name AS filegroup_name ,type as filegroup_type from sys.filegroups;-- b.添加文件组
use 数据库
go 
alter database 数据库 add filegroup flinkFG
goalter database 数据库 add file 
(NAME = rytbdat1,FILENAME = 'D:\MSSQL\Data\rtybdat1.ndf',SIZE = 50MB,MAXSIZE = 500MB,FILEGROWTH = 50MB
),
(NAME = rytbdat2,FILENAME = 'D:\MSSQL\Data\rtybdat2.ndf',SIZE = 50MB,MAXSIZE = 500MB,FILEGROWTH = 50MB
) TO FILEGROUP flinkFG;--- 查看文件组
SELECT name AS '文件逻辑名称',physical_name AS '物理文件路径',(size * 8 / 1024) AS '文件大小(MB)',max_size AS '最大文件大小(MB)',growth AS '文件增长量(MB)',type_desc AS '文件类型'
FROM sys.database_files;
  • 执行CDC配置,并检查是否成功
---  enable cdc  operation  for datbase 数据库 ---------  ******  m_rec_save ******  --
USE 数据库
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'数据表名所在schema',     -- Specifies the schema of the source table.
@source_name   = N'数据表名', -- Specifies the name of the table that you want to capture.
@role_name     = N'flink_role',  -- Specifies a role MyRole to which you can add users to whom you want to grant SELECT permission on the captured columns of the source table. Users in the sysadmin or db_owner role also have access to the specified change tables. Set the value of @role_name to NULL, to allow only members in the sysadmin or db_owner to have full access to captured information.
@filegroup_name = N'flinkFG',-- Specifies the filegroup where SQL Server places the change table for the captured table. The named filegroup must already exist. It is best not to locate change tables in the same filegroup that you use for source tables.
@supports_net_changes = 0
GO-- 检查数据库是否开启CDC配置USE 数据库;
GO
EXEC sys.sp_cdc_help_change_data_capture
GO-- 检查数据库下开启CDC配置的数据表
select is_cdc_enabled from sys.databases where name = '数据库';
  • 工具版本
Flink 1.15
Flink-CDC 2.3.0
SQLServer 2012

问题一: flink-cdc 参数不支持增量快照

在这里插入图片描述

  • 解决:选择合适的Flink-CDC文档,部分版本不支持增量快照

flink-cdc 2.3.0 : schema-name未指定

  • 解决,cdc参数添加 schema-name参数,指定SQLServer中数据库下面的schema名称
'connector' = 'sqlserver-cdc' ,
>         'hostname' = 'localhost' ,
>         'port' = '1433' ,
>         'username' = 'user',
>         'password' = 'password',
>         'database-name' = 'schema-name',
>         'schema-name' = 'dbo',
>        'table-name' = 'table_name'

锁超时

  • Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 已超过了锁请求超时时段。
    在这里插入图片描述

  • 定位思路

    • SQLServer查询阻塞进程
    
    

SELECT blocking_session_id ‘阻塞进程的ID’, wait_duration_ms ‘等待时间(毫秒)’, session_id ‘(会话ID)’ FROM sys.dm_os_waiting_tasks

![在这里插入图片描述](https://img-blog.csdnimg.cn/a561fceca1914b2b98fb51018664e50f.png)- 确定所在服务器,假设上述阻塞进程ID为56
```
sp_who2 56

在这里插入图片描述

  • 登陆所在服务,杀死所在服务器进程
因为是sql-client提交的flink-cdc作业,所以从yarn-ui作业找到application_id,然后kill yarn app -kill applicationid

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/84191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Direct3D融合技术

该技术能使我们将当前要进行光栅化的像素的颜色与先前已已光栅化并处于同一位置的像素的颜色进行合成,即将正在处理的图元颜色值与存储在后台缓存中的像素颜色值进行合成(混合),利用该技术我们可得到各种各样的效果,尤其是透明效果。 在融合…

zookeeper未授权漏洞复现及处理

一、漏洞详情 Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服…

华为云云耀云服务器L实例评测|云耀云服务器L实例的购买及使用体验

华为云云耀云服务器L实例评测|云耀云服务器L实例的购买及使用体验 一、云耀云服务器L实例介绍1.1 云耀云服务器L实例简介1.2 云耀云服务器L实例特点1.3 云耀云服务器L实例使用场景 二、云耀云服务器L实例支持的镜像2.1 镜像类型2.2 系统镜像2.3 应用镜像 三、购买云…

前端悬浮菜单的实现方法及完整代码示例

前言 悬浮菜单作为网页设计中常见的交互元素,通常被用于展示常用功能或导航链接。 在前端开发领域中,我们可以利用纯CSS技术实现一个简单的悬浮菜单。 本文将详细介绍实现悬浮菜单的方法,并提供一个完整的代码示例。 实现方法 要实现一个悬浮…

nginx中的location指令用法

在Nginx中,location指令用于定义如何处理特定类型的请求。它通常用于定义不同的URL匹配规则和相应的处理方式。 以下是location指令的一般用法 location [|~|~*|^~] /uri/ {# 处理指令 }:表示精确匹配。只有当请求的URL与指定的URL完全匹配时&#xff…

docker学习:dockerfile和docker-compose

学习如何使用dockerfile 以下内容,部分来自gpt生成,里面的描述可能会出现问题,但代码部分,我都会进行测试。 1. 需求 对于一个docker,例如python,我们需要其在构建成容器时,就有np。有以下两种方…

Qt重写QTreeWidget实现拖拽

介绍 此文章记录QTreeWidget的重写进度,暂时停滞使用,重写了QTreeWidget的拖拽功能,和绘制功能,自定义了数据结构,增加复制,粘贴,删除,准备实现动态刷新数据支持千万数据动态刷新&a…

Prometheus-Rules 实战

文章目录 1 node rules2 nginx rule2.1 Nginx 4xx 错误率太多2.2 Nginx 5xx 错误率太多2.3 Nginx 延迟高 3 mysql rule3.1 MySQL 宕机3.2 实例连接数过多3.3 MySQL高线程运行3.4 MySQL 从服务器 IO 线程没有运行3.5 MySQL 从服务器 SQL 线程没有运行3.6 MySQL复制滞后3.7 慢查询…

天津专升本文化课考试计算机应用基础考试大纲(2023年9月修订)

天津市高等院校“高职升本科”招生统一考试计算机应用基础考试大纲(2023年9月修订) 一、考试性质 天津市高等院校“高职升本科”招生统一考试是由合格的高职高专毕业生参加的选拔性 考试。高等院校根据考生的成绩,按照已确定的招生计划&am…

transformer系列2---transformer架构详细解析

transformer详细解析 Encoder1 输入1.1 Embedding 词嵌入1.1.1 Embedding 定义1.1.2 几种编码方式对比1.1.3 实现代码 1.2 位置编码1.2.1 使用位置编码原因1.2.2 位置编码方式1.2.3 位置编码代码 2 注意力 Attention2.1 自注意力self-attention2.1.1 QKV含义2.1.2 自注意力公式…

Innodb底层原理与Mysql日志机制

MySQL内部组件结构 Server层 主要包括连接器、词法分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现&#xff0c…

【Vue】路由与Node.js下载安装及环境配置教程

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Vue快速入门》。🎯🎯 &…

无涯教程-JavaScript - COUNT函数

描述 COUNT函数计算包含数字的单元格的数量,并计算参数列表中的数字。使用COUNT函数获取在数字范围或数字数组中的数字字段中的条目数。 语法 COUNT (value1, [value2] ...)争论 Argument描述Required/Optionalvalue1The first item, cell reference, or range within whic…

React TypeScript | 快速了解 antd 的使用

1. 安装: 就像安装其他插件库一样,在项目文件夹下执行: npm install antd --save如果你安装了 yarn,也可以执行: yarn add antd2. 引用 import { Button, Tooltip } from "antd"; import "antd/dis…

第三、四、五场面试

第三场 共享屏幕做题(三道简单题) 替换空格成%20(双指针) 删除升序链表中的重复元素(指针)有效的括号(栈) 第四场、第五场 自我介绍 项目拷打 整个项目架构rpc模块的情况分析的数…

云渲染是怎么做到不排队的

云渲染排队严重影响了用户的使用体验,还会导致用户的流失,因此解决渲染不排队的问题对于云渲染平台来说是非常重要的。而作为云渲染平台,自己的机器基本都是固定的,哪如何解决用户渲染排队的问题呢?我们一起来看看全国…

@Nullable

Nullable 是一种用于标记方法参数、方法返回值以及字段的注解,用于表示这些元素可以为null。它主要用于静态代码分析工具、IDE或其他工具来检测潜在的空指针异常问题。 在 Java 中,Nullable 注解通常是使用 javax.annotation.Nullable 或 edu.umd.cs.fi…

JOSEF约瑟 剩余电流继电器PFR-5 PFE-W-20 国产化改造ZLR-G81 ZCT-45

系列型号: PFR-003剩余电流继电器 PFR-03剩余电流继电器 PFR-5剩余电流继电器 PFR-W-105互感器 PFR-W-140互感器 PFR-W-20互感器 PFR-W-210互感器 PFR-W-30互感器 PFR-W-35互感器 PFR-W-70互感器 一、用途 PFR剩余电流继电器(以下简称继电器…

蓝桥杯 题库 简单 每日十题 day3

01 约数个数 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 1200000 有多少个约数(只计算正约数)。 解题思路 枚举,从1开始一直到1200000本身都作为1200000的除数,…

机器学习——奇异值分解(未完)

开坑,刚看完书,已经有些窒息了 先把坑挖了,再慢慢填,避免自己划水跳过 我爱线代,线代爱我,阿弥陀佛 为什么要学奇异值分解? 因为书本倒数第二章专门提到的,想必一定很重要&#xff…