【全面解读】Apache SeaTunnel常见问题全攻略

file

使用SeaTunnel需要安装Spark或者Flink这样的引擎么?

不需要,SeaTunnel 支持 Zeta、Spark 和 Flink 作为同步引擎的选择,您可以选择之一就行,社区尤其推荐使用 Zeta 这种专为同步场景打造的新一代超高性能同步引擎。Zeta 被社区用户亲切的称为 “泽塔奥特曼”! 社区对 Zeta 的支持力度是最大的,功能也更丰富。

SeaTunnel支持哪些数据来源和数据目的地?

SeaTunnel 支持多种数据源来源和数据目的地,您可以在官网找到详细的列表:

  • SeaTunnel 支持的数据来源(Source)列表:https://seatunnel.apache.org/docs/connector-v2/source
  • SeaTunnel 支持的数据目的地(Sink)列表:https://seatunnel.apache.org/docs/connector-v2/sink

目前SeaTunnel支持哪些数据源的CDC ?

目前SeaTunnel支持 MongoDB CDC、MySQL CDC、Opengauss CDC、Oracle CDC、PostgreSQL CDC、Sql Server CDC、TiDB CDC等,更多请查阅Source。

支持从MySQL备库进行CDC么?日志如何拉取?

支持,是通过订阅MySQL binlog日志方式到同步服务器上解析binlog日志方式进行。

MySQL CDC同步需要权限如何开启?

需要有对应库和表的 select 权限。

  1. 授权语句如下:
    GRANT SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON . TO 'username'@'host' IDENTIFIED BY 'password';
    FLUSH PRIVILEGES;
  2. 编辑 /etc/mysql/my.cnf 添加以下行:
    [mysqld]
    log-bin=/var/log/mysql/mysql-bin.log
    expire_logs_days = 7
    binlog_format = ROW
    binlog_row_image=full
  3. 然后重启 MySQL 服务:
    service mysql restart

SQLServer CDC同步需要权限如何开启?

使用 SQLServer CDC 数据源需要 SQLServer 先开启 MS-CDC 功能,具体的操作如下:

  1. 查询 SQLSERVER CDC Agent 是否已经开启
    EXEC xp_servicecontrol N'querystate', N'SQLServerAGENT';
    - 如果结果是running.证明已开启,否则需要手动开启
  2. 不同开启方式

2.1. 如果是 Linux 开启 SQLSERVER CDC Agent

   /opt/mssql/bin/mssql-conf setup
# 返回结果如下
1) Evaluation (free, no production use rights, 180-day limit)
2) Developer (free, no production use rights)
3) Express (free)
4) Web (PAID)
5) Standard (PAID)
6) Enterprise (PAID)
7) Enterprise Core (PAID)
8) I bought a license through a retail sales channel and have a product key to enter.

可以根据实际情况来进行选择,可以直接选择 2 免费的,同时包含 agent。

选择后设置开启 agent。

/opt/mssql/bin/mssql-conf set sqlagent.enabled true

2.2、如果是 Windows 开启 SQLSERVER Agent (以 SQLServer 2008 为例)

  • (1)官方文档: https://learn.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms191454(v=sql.105)?redirectedfrom=MSDN

    在“开始”菜单中,依次指向“所有程序”、Microsoft SQL Server 2008 R2、“配置工具”,然后单击“SQL Server 配置管理器”**。
    在 SQL Server 配置管理器中,展开“服务”,然后单击“SQL 代理”。
    在结果窗格中,右键单击任何实例,再单击“启动”。
    SQL Server Agent 旁的图标上和工具栏上的绿色箭头指示 SQL Server Agent 已成功启动。
    单击“确定”。
  • (2)启动任务管理器-打开服务,找到SQLServer Agent (MSSQLSERVER)" 服务(其中 "MSSQLSERVER" 可能根据 SQL Server 实例而有所不同),然后启动服务。

3、先设置库级别的CDC (需开通库级别和表级别 CDC)

-- 下面设置库级别开启CDC,该级别下,开启的CDC的库下面的所有表自动开启CDC
USE TestDB; -- 替换为实际的数据库名称
EXEC sys.sp_cdc_enable_db;-- 查询库是否开启CDC
SELECT name, is_cdc_enabled
FROM sys.databases
WHERE name = 'database';-- 替换为要检查的数据库的名称

4、然后设置表级别的CDC

-- 下面设置表级别开启CDC,该级别下只有显示开启了CDC的表才能进行CDC同步
USE TestDB; -- 替换为实际的数据库名称
EXEC sys.sp_cdc_enable_table
@source_schema = 'dbo',
@source_name = 'table', -- 替换为要启用 CDC 的表的名称
@role_name = NULL,
@capture_instance = 'table'; -- 替换为一个唯一的捕获实例名称-- 查询表是否开启CDC
USE TestDB; -- 替换为实际的数据库名称SELECT name, is_tracked_by_cdc
FROM sys.tables
WHERE name = 'table'; -- 替换为要检查的表的名称

这样就可以了。

这里多说一句,连接器对应的 cdc 权限开启步骤在官网都有写,请参照 SeaTunnel 对应的官网操作即可。

是否支持无主键表的CDC同步?

不支持无主键表的 cdc 同步。原因如下: 比如上游有 2 条一模一样的数据,然后上游删除或修改了一条,下游由于无法区分到底是哪条需要删除或修改,会出现这 2 条都被删除或修改的情况。

没主键要类似去重的效果本身有点儿自相矛盾,就像辨别西游记里的真假悟空,到底哪个是真的。

我有一个问题,我自己无法解决

我在使用 SeaTunnel 时遇到了问题,无法自行解决。 我应该怎么办?有以下几种方式可以解决:

  1. 在问题列表或邮件列表中搜索看看是否有人已经问过同样的问题并得到答案。
  2. 如果您找不到问题的答案,您可以通过这些方式联系社区成员寻求帮助。
  3. 中国用户可以添加微信群助手:seatunnel1,加入社区交流群,也欢迎大家关注微信公众号:seatunnel。

如何声明变量?

您想知道如何在 SeaTunnel 的配置中声明一个变量,然后在运行时动态替换该变量的值吗? 该功能常用于定时或非定时离线处理,以替代时间、日期等变量。 用法如下: 在配置中配置变量名称。 下面是一个sql转换的例子(实际上,配置文件中任何地方“key = value”中的值都可以使用变量替换):

...
transform {Sql {query = "select * from user_view where city ='${city}' and dt = '${date}'"}
}
...

以使用 SeaTunnel Zeta Local模式为例,启动命令如下:

$SEATUNNEL_HOME/bin/seatunnel.sh \
-c $SEATUNNEL_HOME/config/your_app.conf \
-m local[2] \
-i city=Singapore \
-i date=20231110

您可以使用参数“-i”或“--variable”后跟“key=value”来指定变量的值,其中key需要与配置中的变量名称相同。详情可以参考:https://seatunnel.apache.org/docs/concept/config

如何在配置文件中写入多行文本的配置项?

当配置的文本很长并且想要将其换行时,您可以使用三个双引号来指示其开始和结束:

var = """
Apache SeaTunnel is a
next-generation high-performance,
distributed, massive data integration tool.
"""

如何实现多行文本的变量替换?

在多行文本中进行变量替换有点麻烦,因为变量不能包含在三个双引号中:

var = """
your string 1
"""${you_var}""" your string 2"""

请参阅:lightbend/config#456。

如何配置SeaTunnel-E2E Test的日志记录相关参数?

seatunnel-e2e 的 log4j 配置文件位于 seatunnel-e2e/seatunnel-e2e-common/src/test/resources/log4j2.properties 中。 您可以直接在配置文件中修改日志记录相关参数。

例如,如果您想输出更详细的E2E Test日志,只需将配置文件中的“rootLogger.level”降级即可。

如果想学习SeaTunnel的源代码,应该从哪里开始?

SeaTunnel 拥有完全抽象、结构化的非常优秀的架构设计和代码实现,很多用户都选择 SeaTunnel 作为学习大数据架构的方式。 您可以从seatunnel-examples模块开始了解和调试源代码:SeaTunnelEngineLocalExample.java 具体参考:https://seatunnel.apache.org/docs/contribution/setup 针对中国用户,如果有伙伴想贡献自己的一份力量让 SeaTunnel 更好,特别欢迎加入社区贡献者种子群,欢迎添加微信:davidzollo,添加时请注明开源共建。

如果想开发自己的source、sink、transform时,是否需要了解SeaTunnel所有源代码?

不需要,您只需要关注 source、sink、transform 对应的接口即可。

如果你想针对 SeaTunnel API 开发自己的连接器(Connector V2),请查看Connector Development Guide。

参考视频:https://www.bilibili.com/video/BV1bJ4m1P7bq/?vd_source=e139ecc995ab936267a7991b9de55f6c

本文由 白鲸开源科技 提供发布支持!

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

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

相关文章

STM32完全学习——系统时钟设置

一、时钟框图的解读 首先我们知道STM32在上电初始化之后使用的是内部的HSI未经过分频直接通过SW供给给系统时钟,由于内部HSI存在较大的误差,因此我们在系统完成上电初始化,之后需要将STM32的时钟切换到外部HSE作为系统时钟,那么我…

分布式系统稳定性建设-性能优化篇

分布式系统稳定性建设-性能优化篇 系统稳定性建设是系统工程的核心内容之一。以下是一些重要的方面: 架构设计: 采用模块化、松耦合的架构设计,以提高系统的可扩展性和可维护性。合理划分系统功能模块,降低单个模块的复杂度。定义清晰的接口和数据交换标准,确保各模块之间协调…

网络学习第四篇

引言: 我们在第三篇的时候出现了错误,我们要就行排错,那么我们要知道一下怎么配置静态路由实现ping通,这样子我们才知道下一跳到底是什么,为什么这样子做。 实验目的 理解和掌握静态路由的基本概念和配置方法。 实…

[控制理论]—位置式PID与增量式PID

位置式PID与增量式PID 1.位置式PID 按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即: t ≈ k T ( k 0 , 1 , 2... ) …

【c++丨STL】list的使用

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:C、STL 目录 前言 list简介 一、list的默认成员函数 构造函数(constructor) 析构函数 赋值重载 二、list的迭代器接口 迭代器的功能分类 三、list的容量…

Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失

Unity 编辑器下 Android 平台 Addressable 加载模型粉红色,类似材质丢失 Addressable Play Mode Script加载模式 选择 Use Existiing Build 1.Unity 切换到 PC 平台,执行 Addressable Build 运行,加载 bundle 内的预制体 显示正常 2.Unit…

单片机学习笔记 6. 数码管动态显示

更多单片机学习笔记:单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示 目录 0、实现的功能 1、Keil工程 1-1 数码管动态显示 1-2 数组的定义与引用…

车企如何实现安全图纸外发管理

车企面临着日益增长的数据交换需求,尤其是设计图纸等敏感数据的外发管理。如何确保这些数据在传输过程中的安全性和效率,是车企急需解决的问题。我们将从几个关键性的因素上来分析一下怎么实现安全图纸外发管理。 统一管理与授权 采用专业的文件交换系统…

第7章 硬件测试-7.1 硬件调试

第7章 硬件测试 7.1 硬件调试7.1.1 电路检查7.1.2 电源调试7.1.3 时钟调试7.1.4 主芯片及外围小系统调试7.1.5 存储器件和串口外设调试7.1.6 其他功能模块调试 测试是每项成功产品的必经环节。硬件测试是评估产品质量的重要方法,产品质量是公司的信誉和品牌象征&…

Qt5/QPainter/画家

目录 1.绘制文字 1.1案例 1.2代码 2.画线 2.1案例 2.2代码 3.绘制矩形 3.1代码 4.绘制椭圆和圆 4.1椭圆 4.2圆 5.圆弧 5.1案例: 5.2代码 6.扇形 6.1案例 6.2代码: 7.更改绘画的颜色和粗细 7.1案例 ​编辑 7.2代码 1.绘制文字 1.1案例 通过三种不同的绘…

一篇保姆式centos/unbantu安装docker

前言: 本章节分别演示centos虚拟机,unbantu虚拟机进行安装docker。 上一篇介绍:docker一键部署springboot项目 一:centos 1.卸载旧版本 yum remove docker docker-client docker-client-latest docker-common docker-latest do…

fetch API和XHR

文章目录 一、基本写法1. XMLHttpRequest(XHR)2. Fetch API 二、兼容性1. XMLHttpRequest(XHR)2. Fetch API 三、Promise支持1. XMLHttpRequest(XHR)2. Fetch API 四、请求响应1. XMLHttpRequest&#xff0…

Photoshop(PS)——人像磨皮

1.新建一个文件,背景为白色,将图片素材放入文件中 2.利用CtrlJ 复制两个图层出来,选择第一个拷贝图层,选择滤镜---杂色---蒙尘与划痕 3.调整一下数值,大概能够模糊痘印痘坑,点击确定。 4.然后选择拷贝2图层…

Elasticsearch retrievers 通常与 Elasticsearch 8.16.0 一起正式发布!

作者:来自 Elastic Panagiotis Bailis Elasticsearch 检索器经过了重大改进,现在可供所有人使用。了解其架构和用例。 在这篇博文中,我们将再次深入探讨检索器(retrievers)。我们已经在之前的博文中讨论过它们&#xf…

《设计模式》创建型模式总结

目录 创建型模式概述 Factory Method: 唯一的类创建型模式 Abstract Factory Builder模式 Prototype模式 Singleton模式 最近在参与一个量化交易系统的项目,里面涉及到用java来重构部分vnpy的开源框架,因为是框架的搭建,所以会涉及到像…

c++类对象练习

#include <iostream> #include <cstring>using namespace std;class mystring {char* buf; public:mystring(); //构造函数mystring(const char* str); //构造函数void show(); //输出函数void setmystr(const mystring str); //设置函数const char* getmystr() co…

CH03_反射

第3章&#xff1a;反射 本章目标 掌握反射的原理 熟悉反射的基本运用 本章内容 反射是什么 C# 编译运行过程 首先我们在VS点击编译的时候&#xff0c;就会将C#源代码编译成程序集 程序集以可执行文件 (.exe) 或动态链接库文件 (.dll) 的形式实现 程序集中包含有Microsoft …

多品牌摄像机视频平台EasyCVR视频融合平台+应急布控球:打造城市安全监控新体系

在当今快速发展的智慧城市和数字化转型浪潮中&#xff0c;视频监控技术已成为提升公共安全、优化城市管理、增强应急响应能力的重要工具。EasyCVR视频监控平台以其强大的多协议接入能力和多样化的视频流格式分发功能&#xff0c;为用户提供了一个全面、灵活、高效的视频监控解决…

数据结构 (3)线性表的概念及其抽象数据类型定义

一、线性表的概念 定义&#xff1a;线性表是指具有相同数据类型的n个数据元素的有限序列。可以表示为L(a1,a2,…,ai,…,an)&#xff0c;其中a1是第一个元素&#xff0c;称为表头&#xff1b;an是最后一个元素&#xff0c;称为表尾。 特点&#xff1a; 有序性&#xff1a;线性表…

Java基础——继承和多态

目录 一、继承 继承的定义&#xff1a; 继承的基本用法&#xff1a; 如何调用父类的方法&#xff1f; 二、多态 多态性的好处 多态中的强制类型转换&#xff1a; 包的命名规则——域名倒叙 一、继承 继承的定义&#xff1a; 继承是面向对象编程中的一种机制&#xff0c…