首页 > 其他分享 >【全面解读】Apache SeaTunnel常见问题全攻略

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

时间:2024-11-19 15:42:03浏览次数:1  
标签:seatunnel SeaTunnel 常见问题 CDC -- 开启 全攻略 替换

file

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

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

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

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

目前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;
  1. 编辑 /etc/mysql/my.cnf 添加以下行:
[mysqld]
log-bin=/var/log/mysql/mysql-bin.log
expire_logs_days = 7
binlog_format = ROW
binlog_row_image=full
  1. 然后重启 MySQL 服务:
service mysql restart

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

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

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

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 为例)

在“开始”菜单中,依次指向“所有程序”、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

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

标签:seatunnel,SeaTunnel,常见问题,CDC,--,开启,全攻略,替换
From: https://www.cnblogs.com/seatunnel/p/18554979

相关文章

  • 高效处理日均5000亿+数据:58集团基于Apache SeaTunnel的数据集成平台架构优化
    视频链接:58集团大数据平台基于ApacheSeaTunnel的架构演进https://www.bilibili.com/video/BV19GUPYcEgB/?vd_source=e139ecc995ab936267a7991b9de55f6c引言在数字化时代,数据已成为企业最宝贵的资产之一。58集团作为中国领先的生活服务平台,其大数据部在数据集成平台的建设上不......
  • HarmonyOS Next 对称密钥生成全攻略:从原理到实践
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、引言在数据安全的浩瀚领域中,对称......
  • HarmonyOS Next 网络加速实战:社交应用网络优化全攻略
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、引言在当今数字化时代,社交应用已......
  • 北京市新技术新产品新服务项目填报常见问题
    在北京市推动科技创新和产业升级的大背景下,新技术、新产品、新服务项目的申报与认定成为了众多企业关注的焦点。然而,在填报过程中,许多企业常常会遇到各种问题,导致申报进程受阻。那么,北京市新技术新产品新服务项目填报过程中常见的问题有哪些呢?又该如何有效解决这些问题,确保申......
  • KubeSphere 实战指南:KubeSphere 和 K8s 集群彻底卸载与重装全攻略
    KubeSphere最佳实战:KubeSphere和K8s集群卸载重装完全指南本指南为一篇实战短文,旨在帮助您快速掌握如何在现有服务器上彻底卸载KubeSphere和K8s集群并完成重装部署。实战服务器配置(架构1:1复刻小规模生产环境,只是配置略有不同)主机名IPCPU内存系统盘数据盘用......
  • 10月回顾 | Apache SeaTunnel社区动态与进展一览
    各位热爱ApacheSeaTunnel的小伙伴们,社区10月份月报来啦,请查收!这里将记录ApacheSeaTunne社区每月动态和进展,欢迎关注。月度Merge之星感谢以下小伙伴上个月为ApacheSeaTunnel所做的精彩贡献(排名不分先后):@Hisoka-X,@prclin,@JohnTeslaa,@happyboy1024,@jiamin13579,@luck......
  • 2024 年 Java 面试最全攻略:程序员求职跳槽必刷题目 1000+,横扫一切技术盲点!
    写在前面马上又要到收割Offer的季节,你准备好了吗?曾经的我,横扫各个大厂的Offer。还是那句话:进大厂临时抱佛脚是肯定不行的,一定要注重平时的总结和积累,多思考,多积累,多总结,多复盘,将工作经历真正转化为自己的工作经验。面经分享今天给大家分享一个面试大厂的完整面经,小伙......
  • 新手入:TikTok运营常见问题十问十答!
    在TikTok这个充满机遇的平台上,新手小白在运营初期往往会遇到各种挑战。从理解复杂的算法到提升视频的完播率,每一步都充满了未知。你是否曾在上传视频后焦急等待,却只换来寥寥无几的观看量?是否在尝试各种策略后,仍然感到迷茫和困惑?如果你正面临这样的困境,那么这篇文章正是为你准......
  • Delphi使用常见问题
    1.Delphi报错:[dcc64FatalError]BasicDemo.dpr(8):F2048Badunitformat:'..\src\CameraParamsUnit.dcu'-Expectedversion:35.0,WindowsUnicode(x64)Foundversion:35.0,WindowsUnicode(x86),是什么原因?这个错误通常是由于编译器期望的单元格式与实际提供的单......
  • Charls抓包,手机端下载安装证书常见问题
    手机端常见问题一、Charles手机端输入https://chls.pro/ssl,总是提示网络连接失败将Charles中在代理设置中关闭SSLProxying,然后重新尝试下载证书‌修改ProxySetting‌:检查并修改浏览器的代理设置,确保代理设置正确二、手机端已经下载到CA证书,如何正确安装首先,在设置-搜索......