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

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

相关文章:

Flink-CDC 抽取SQLServer问题总结

Flink-CDC 抽取SQLServer问题总结 背景 flink-cdc 抽取数据到kafka 中,使用flink-sql进行开发,相关问题总结flink-cdc 配置SQLServer cdc参数 1.创建CDC 使用的角色, 并授权给其查询待采集数据数据库 -- a.创建角色 create role flink_role;-- b.授权…...

Linux 系统目录结构 终端

系统目录结构 Linux 或 Unix 操作系统中,所有文件和目录呈一个以根节点为始的倒置的树状结构。文件系统的最顶层是根目录,用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此…...

Layui + Flask | 实现注册、登录功能(案例篇)(08)

此案例内容比较多,建议滑到最后点击阅读原文,阅读体验更佳。后续也会录制案例视频,将在本周内上传到同名的 b 站账号。 已经看了 layui 表单相关的知识,接下来就可以实现注册功能,功能逻辑如下: 项目创建 新建 flask 项目下载 layui 文件,解压之后复制到指定文件编写前…...

GitLab数据迁移后出现500错误

一、背景 去年做GitLab数据迁移时,写过一篇文章《GitLab的备份与还原》。后来发现新创建的项目没问题,但对于迁移过来的项目,修改名称等信息,或者删除该项目时,会出现500错误,以为是系统问题&#…...

音乐随行,公网畅享,群辉Audiostation给你带来听歌新体验!

文章目录 本教程解决的问题是:按照本教程方法操作后,达到的效果是本教程使用环境:1 群晖系统安装audiostation套件2 下载移动端app3 内网穿透,映射至公网 很多老铁想在上班路上听点喜欢的歌或者相声解解闷儿,于是打开手…...

机器学习入门:从算法到实际应用

机器学习入门:从算法到实际应用 机器学习入门:从算法到实际应用摘要引言机器学习基础1. 什么是机器学习?2. 监督学习 vs. 无监督学习 机器学习算法3. 线性回归4. 决策树和随机森林 数据准备和模型训练5. 数据预处理6. 模型训练与调优 实际应用…...

【Vue.js】vue-cli搭建SPA项目并实现路由与嵌套路由---详细讲解

一,何为SPA SPA(Single Page Application)是一种 Web 应用程序的开发模式,它通过使用 AJAX 技术从服务器异步加载数据,动态地更新页面内容,实现在同一个页面内切换不同的视图,而无需整页刷新 1.…...

Node.js 调用 fluent-ffmpeg

最近开发H5资源在线裁剪,最终在资源合成的步骤,选择 ffmpeg 作为合成的插件,记录下使用方式。 一、介绍 ffmpeg 一款跨平台多媒体处理工具,可以进行视频转码、裁剪、合成、音视频提取、推流等操作。 二、安装 Node js 可以利用…...

scrapy框架--

Scrapy是一个用于爬取数据的Python框架。下面是Scrapy框架的基本操作步骤: 安装Scrapy:首先,确保你已经安装好了Python和pip。然后,在命令行中运行以下命令安装Scrapy:pip install scrapy 创建Scrapy项目:…...

算法通关村第十五关——从40亿个数中产生一个不存在的数的处理方法

1.从40个亿中产生一个不存在的整数 题目要求:给定一个输入文件,包含40亿个非负整数,请设计一个算法,产生一个不存在该文件中的整数,假设你有1GB的内存来完成这项任务。**** 解题中心思想:存储的不是这40亿…...

软件项目开发的流程及关键点

软件项目开发的流程及关键点 graph LR A[需求分析] --> B[系统设计] B --> C[编码开发] C --> D[测试验证] D --> E[部署上线] E --> F[运维支持]在项目开发的流程中,首先是进行需求分析,明确项目的目标和功能要求。接下来是系统设计&am…...

全球变暖问题(floodfill 处理联通块问题)

全球变暖问题 文章目录 全球变暖问题前言题目描述题目分析边界问题的考虑岛屿是否被淹没判断:如何寻找联通块: 代码预告 前言 之前我们介绍了 bfs算法在二维,三维地图中的应用,现在我们接续进行拓展,解锁floodfill 算…...

由于找不到vcruntime140_1.dll怎么修复,详细修复步骤分享

在使用电脑过程中,可能会遇到一些错误提示,其中之一是找不到vcruntime140_1.dll的问题。这使得许多用户感到困扰,不知道该如何解决这个问题。小编将详细介绍vcruntime140_1.dll的作用以及解决找不到该文件的方法,帮助你摆脱困境。…...

算法 三数之和-(双指针)

牛客网: BM54 题目: 数组中所有不重复的满足三数之和等于0的数,非递减形式。 思路: 数组不小于3。不重复非递减,需先排序。使用idx从0开始遍历到n-2, 如果出现num[idx]num[idx-1]的情况,忽略继续下一个idx;令left idx1, right …...

AB实验总结

互联网有线上系统,可做严格的AB实验。传统行业很多是不能做AB实验的。 匹配侧是采用严格的AB实验来进行模型迭代,而精细化定价是不能通过AB实验来评估模型好坏,经历过合成控制法、双重差分法,目前采用双重差分法来进行效果评估。…...

sklearn包中对于分类问题,如何计算accuracy和roc_auc_score?

1. 基础条件 import numpy as np from sklearn import metricsy_true np.array([1, 7, 4, 6, 3]) y_prediction np.array([3, 7, 4, 6, 3])2. accuracy_score计算 acc metrics.accuracy_score(y_true, y_prediction)这个没问题 3. roc_auc_score计算 The binary and mul…...

python温度转换程序

1.使用pycharm运行温度转换程序,尝试将温度单位设在前面 2.参照温度转换程序,自己写一个关于货币转换、长度转换、重量转换或者面积转换的程序 循环函数 def convertemperature():temperature ""while (temperature ! "q"):temperature in…...

Vue2中10种组件通信方式和实践技巧

目录 1,props / $emit1.1,一个需求方法1方法2 1.2,v-model 和 .syncv-model.sync 2,$children / $parent3,ref4,$attrs / $listeners$attrs$listenersinheritAttrs1.1 的问题的第3种解决方法 5,…...

Flutter flutter.minSdkVersion的实际文件位置

Flutter 项目的Android相关版本号配置: flutter.minSdkVersion 的版本号配置文件实际路径: …/flutter_sdk/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy Flutter版本号如下: bzbMacBook-Pro ccsmec % flutter --version …...

python生成PDF报告

前言 最近接到了一个需求-将项目下的样本信息汇总并以PDF的形式展示出来,第一次接到这种PDF的操作的功能,还是有点慌的,还好找到了reportlab这个包,可以定制化向PDF写内容! 让我们由简入深进行讲解 一、reportlab是…...

在visual studio里安装Python并创建python工程

在2009年,云计算开始发力,Python、R、Go这些天然处理批量计算的语言也迅猛发展。微软在2010年,把Python当成一个语言包插件,集成到了visual studio 2010里。在"云优先,移动优先"的战略下,于2015年…...

AIGC(生成式AI)试用 6 -- 从简单到复杂

从简单到复杂,这样的一个用例该如何设计? 之前浅尝试用,每次尝试也都是由浅至深、由简单到复杂。 一点点的“喂”给生成式AI主题,以测试和验证生成式AI的反馈。 AIGC(生成式AI)试用 1 -- 基本文本_Role…...

竞赛 基于深度学习的人脸识别系统

前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸识别系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/…...

uniapp:APP开发,后台保活

前言: 在ios中,软件切换至后台、手机息屏,过了十来秒软件就会被系统挂起,APP内的任务就不能继续执行;在android中,默认情况下,软件在后台运行的时候,触发某些特定条件的情况下&…...

vue2 项目中嵌入视频

案例&#xff1a; 代码&#xff1a; <template><div class"schematicDiagramIndex"><el-container><el-aside width"20rem"> <!-- <h4 style"font-size: 18px">视频演示</h4>--><div styl…...

第二章 进程与线程 十二、进程同步与进程互斥

目录 一、进程同步 1、定义 二、进程互斥 1、定义 2、四个部分 3、原则 一、进程同步 1、定义 进程同步是指在多个进程之间协调执行顺序的一种机制&#xff0c;使得进程按照一定的顺序执行&#xff0c;以避免出现不一致的情况。常见的实现方式有信号量、管程、屏障等。…...

Linux内核链表(list)移植到任意平台

一、前言 linux内核链表在include/linux/list.h文件中&#xff0c;内核中实现的链表比较简洁&#xff0c;实用性很强&#xff0c;因此想把它单独移植出来使用。 内核中的代码只能使用gnuc编译器编译&#xff0c;stdc编译器编译是会报错的&#xff0c;主要是因为typeof这个宏是…...

【操作系统】聊聊什么是CPU上下文切换

对于linux来说&#xff0c;本身就是一个多任务运行的操作系统&#xff0c;运行远大于CPU核心数的程序&#xff0c;从用户视角来看是并发执行&#xff0c;而在CPU视角看其实是将不同的CPU时间片进行分割&#xff0c;每个程序执行一下&#xff0c;就切换到别的程序执行。那么这个…...

CMake教程-第 2 步 添加一个库

CMake教程-第 2 步 添加一个库 1 CMake教程介绍2 学习步骤Step 1: A Basic Starting PointStep 2: Adding a LibraryStep 3: Adding Usage Requirements for a LibraryStep 4: Adding Generator ExpressionsStep 5: Installing and TestingStep 6: Adding Support for a Testin…...

DS 顺序表--类实现(C++数据结构题)

实现顺序表的用 C 语言和类实现顺序表 属性包括&#xff1a;数组、实际长度、最大长度&#xff08;设定为 1000 &#xff09; 操作包括&#xff1a;创建、插入、删除、查找 类定义参考 #include<iostream> using namespace std; #define ok 0 #define error -1 // 顺…...

wordpress http https/网站关键词优化公司哪家好

题目链接 \(Description\) 求在\(2n\)个点的完全二分图&#xff08;两边各有\(n\)个点&#xff09;上确定两组匹配&#xff0c;使得两个匹配没有交集的方案数。\(n\leq10^7\)。 \(Solution\) 不考虑限制&#xff0c;令\(f_i\)表示在\(2i\)个点的二分图上任意确定一组匹配的方案…...

php网站开发软件/廊坊百度快照优化哪家服务好

今天同事去面试,遇到一道对我来说很复杂的sql语句题!表的字段非常简单,创建表的sql语句如下:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id OBJECT_ID(N[dbo].[Exam]) AND type in (NU))BEGINCREATE TABLE [dbo].[…...

济南集团网站建设方案/百度竞价恶意点击软件

相信对于不少的数据分析从业者来说呢&#xff0c;用的比较多的是Pandas以及SQL这两种工具&#xff0c;Pandas不但能够对数据集进行清理与分析&#xff0c;并且还能够绘制各种各样的炫酷的图表&#xff0c;但是遇到数据集很大的时候要是还使用Pandas来处理显然有点力不从心。 今…...

给别人做网站收8000贵不贵/正规排名网站推广公司

在使用linux的过程中有时候会忘记root用户的密码&#xff08;尤其是进行交接而文档内容不全的时候&#xff09;&#xff0c;这个时候我们就可以进入单用户模式来重置root用户密码。下面来讲解重置root密码的方式&#xff0c;也可以说是破解root密码的方式。系统环境&#xff1a…...

惠州建设工程造价管理协会网站/英文网站推广

iPad 加 iOS 11&#xff0c;为十分强大再加一分。一直以来&#xff0c;iPad 都是高效工作方式、畅快娱乐体验和强大学习工具的代表。而 iOS 11 还将其带到了一个新境界。众多新特性和新功能将帮你更高效快捷地处理事务&#xff0c;为你带来更强大、更个性化的 iPad 使用体验。而…...

俄罗斯做电商网站/谷歌关键词搜索量数据查询

1.#列表可重复&#xff0c;类型不同&#xff0c;用&#xff3b;&#xff3d;表示 listA [a, b, c, 1, 2] # 遍历list for item in listA:print(item)#元组是只读的&#xff0c;不能修改。元组用“()”表示 tuple1 (1,2,a,4,5,6) for item in tuple1:print(item)#字典定义了键…...