Apache SeaTunnel 3 分钟入门指南

news2024/11/15 4:24:11

简介

新一代分布式超高性能云原生数据同步工具 - Apache SeaTunnel 已经在B站、腾讯云、字节等数百家公司使用。
SeaTunnel 是 Apache 软件基金会下的一个高性能开源大数据集成工具,为数据集成场景提供灵活易用、易扩展并支持千亿级数据集成的解决方案。SeaTunnel 可以选择 SeaTunnel Zeta [1] 引擎上运行,也可以选择在 Apache Flink 或 Spark 引擎上运行。Seaunnel 为实时(CDC)和批量数据提供高性能数据同步能力。本指南将引导您快速入门 SeaTunnel,为您的大数据集成项目提供支持(为了使用上的方便,本文将以 SeaTunnel Zeta 为运行引擎)。

一、环境准备

如果没有 Java 运行环境,请首先下载一个 Java 环境:

Java (Java 8 or 11, 其他大于 Java 8 版本理论上也能支持) 确保在终端执行 java -version 可以输出 java 版本信息,如下
file

下载并安装 SeaTunnel 发行版: 从官方网站(https://seatunnel.apache.org/download) 下载最新的 SeaTunnel 发行版,并解压到合适的目录。
安装 Connector 插件:需要什么数据源插件就安装什么[2],非常简单。您可以通过配置 config/plugin_config 文件来指定所需的插件。如果你初次只是想体验一下 SeaTunnel, 您只需要保留 2 个 connector-fake(造数插件)、connector-console(打印到控制台插件) 2 个插件就可以了,您可以修改 plugin_config 文件只保留如下内容:

	--connectors-v2--
	connector-fake
	connector-console
	--end--

然后运行命令安装 connector (注:从 2.2.0-beta 开始,二进制包默认不提供 connector 依赖,所以第一次使用需要下载 connector 插件)

 sh bin/install-plugin.sh 2.3.1

执行完毕后,在 connectors/seatunnel 目录下会出现相应的 connector jar。

file

注意:该操作需要联网,你也可以手动下载 connector 从 Apache Maven Repository 下载,然后手动移动到 connectors/seatunnel 目录

二、配置 SeaTunnel 同步作业

添加作业配置文件。编辑 config/v2.batch.config.template 文件,该文件决定了在启动 SeaTunnel 后数据输入、处理和输出的方式及逻辑。以下是一个配置文件示例:

env {  
  execution.parallelism = 2
  job.mode = "BATCH"
  #checkpoint.interval = 10000
}
 
source {
    FakeSource {
      parallelism = 2
      result_table_name = "fake"
      row.num = 16
      schema = {
        fields {
          name = "string"
          age = "int"
        }
      }
    }
}
 
sink {
  Console {}
}

三、 运行 SeaTunnel 作业

在命令行中,切换到 SeaTunnel 解压目录, 运行以下命令,启动 SeaTunnel 作业:

cd "apache-seatunnel-incubating-${version}"
./bin/seatunnel.sh --config ./config/v2.batch.config.template -e local

此命令将以 local (本地模式) 运行您的 SeaTunnel 作业。如果您需要以 SeaTunnel Cluster (集群模式) 请参考[3]。
当您运行上述命令时,您可以在控制台中看到其输出。您可以将其视为命令是否成功运行的标志。

SeaTunnel 控制台将打印如下日志:

2023-04-11 18:33:30,547 INFO  org.apache.seatunnel.connectors.seatunnel.fake.source.FakeSourceSplitEnumerator - Assigning splits to readers 0 [FakeSourceSplit(splitId=0, rowNum=16)]
2023-04-11 18:33:30,551 INFO  org.apache.seatunnel.connectors.seatunnel.fake.source.FakeSourceSplitEnumerator - Assigning splits to readers 1 [FakeSourceSplit(splitId=1, rowNum=16)]
2023-04-11 18:33:31,489 INFO  org.apache.seatunnel.connectors.seatunnel.fake.source.FakeSourceReader - 16 rows of data have been generated in split(1). Generation time: 1681209211485
2023-04-11 18:33:31,489 INFO  org.apache.seatunnel.connectors.seatunnel.console.sink.ConsoleSinkWriter - subtaskIndex=1  rowIndex=1:  SeaTunnelRow#tableId= SeaTunnelRow#kind=INSERT : jBHJM, 1251717627
2023-04-11 18:33:31,489 INFO  org.apache.seatunnel.connectors.seatunnel.fake.source.FakeSourceReader - Closed the bounded fake source
2023-04-11 18:33:31,489 INFO  org.apache.seatunnel.connectors.seatunnel.console.sink.ConsoleSinkWriter - subtaskIndex=1  rowIndex=2:  SeaTunnelRow#tableId= SeaTunnelRow#kind=INSERT : hOPkY, 565194744
2023-04-11 18:33:31,489 INFO  org.apache.seatunnel.connectors.seatunnel.console.sink.ConsoleSinkWriter - subtaskIndex=1  rowIndex=3:  SeaTunnelRow#tableId= SeaTunnelRow#kind=INSERT : QRUsG, 706574302
...............
      当任务运行完毕,会出现本次任务的汇总信息:
2023-04-11 18:33:32,639 INFO  org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand -
***********************************************
           Job Statistic Information
***********************************************
Start Time                : 2023-04-11 18:33:27
End Time                  : 2023-04-11 18:33:32
Total Time(s)             :                   4
Total Read Count          :                  32
Total Write Count         :                  32
Total Failed Count        :                   0
***********************************************

至此,SeaTunnel 就已经成功运行完成了!

总结:

通过遵循本指南,您已经成功地搭建并运行了一个基本的 SeaTunnel 任务。您现在可以开始尝试使用 SeaTunnel 解决您的数据集成需求。怎么样,是不是非常非常简单易上手,快来试一试吧!
如需了解更多关于 SeaTunnel 的详细信息,请访问官方文档:https://seatunnel.apache.org/ 也欢迎联系我们的贡献者微信:seatunnel1 加入我们的 SeaTunnel 官方用户群!手把手教会您如何使用 SeaTunnel!

最后,有正在或打算使用 Apache SeaTunnel 2.3.x 的同学欢迎微信: davidzollo,SeaTunnel 社区为 2.3 系列建有专项支持群,大力提供技术支持,欢迎进入SeaTunnel Zeta 同步引擎带来的同步新时代/::>

附录,已经在使用 SeaTunnel 的部分用户
file

1, https://seatunnel.apache.org/docs/2.3.1/seatunnel-engine/about

2, https://seatunnel.apache.org/docs/2.3.1/start-v2/locally/deployment#step-3-install-connectors-plugin

3, https://seatunnel.apache.org/docs/2.3.1/seatunnel-engine/cluster-mode

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

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

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

相关文章

《计算机网络--自顶向下方法》第三章--运输层

3.1概述和运输层服务 运输层协议为运行再不同主机上的应用进程之间提供了逻辑通信(logic communication)功能 运输层协议是在端系统中而不是在路由器中实现的 3.1.1运输层和网络层的关系 运输层协议至工作在端系统中 在端系统中,运输层…

基于Mybatis使用MySql存储过程,实现数据统计功能

1、前言 作为一个工作了很多年的程序员来说,没有在实际工作中真正使用过存储过程,其实对存储过程本身有过了解和学习,在日常的学习中,也会看过一些存储过程的相关介绍,不过“纸上得来终是浅”,正好这次做统…

Linux 利用网络同步时间

yum -y install ntp ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ntpdate ntp1.aliyun.com 创建加入crontab echo "*/20 * * * * /usr/sbin/ntpdate -u ntp.api.bz >/dev/null &" >> /var/spool/cron/rootntp常用服务器 中国国家授…

力扣sql中等篇练习(十三)

力扣sql中等篇练习(十三) 1 每位学生的最高成绩 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 #先找到最大的元素 然后分组即可,不用管某些字段(grade)是不是聚合字段 SELECT e1.student_id,min(e1.course_id) course_id,e1.grade FROM Enrollment…

setup.py方式打包自己的python代码并可以用pip install安装

setup.py方式打包自己的python代码并可以用pip install安装 所需文件及目录规范示例演示引用自己打的包 所需文件及目录规范 注意setup.py文件和MANIFEST.in文件需要放在和你需要打包的目录同一级下,例如我这里需要打包的就是webconsole文件夹(这里webc…

gl-opendrive插件(车俩3D仿真模拟自动驾驶)

简介 本插件基于免费opendrive开源插件、Threejs和Webgl三维技术、vue前端框架,blender开源建模工具等进行二次开发。该插件由本人独立开发以及负责,目前处于demo阶段,功能还需待完善,由于开发仓促代码还需优化。 因此&#xff…

35岁测试人,面临职场危机,打了一场漂亮的翻身仗...

“夜深知雪重,时闻折竹声”。雪折,一种在雪的载荷下,植物(多指树)的躯干或枝条被不断堆积的雪花压断的现象。我的刚刚经历了人生的第一次“雪折”。 我是一个有点聪明且勤奋好学的人,从考入省重点大学起&a…

Windows环境下C++ 安装OpenSSL库 源码编译及使用(VS2019)

参考文章https://blog.csdn.net/xray2/article/details/120497146 之所以多次一举自己写多一篇文章,主要是因为原文内容还是不够详细。而且我安装的时候碰到额外的问题。 1.首先确认一下自己的代码是Win32的还是Win64的,我操作系统是64的,忘…

java websocket实现聊天室 附源码

目录 1.Socket基础知识 2.socket代码实现 2.1 引入依赖 2.2 配置websocket 2.3 websocket的使用 2.4 webSocket服务端模块 2.5 前端代码 3.测试发送消息 4.websocket源码地址 1.Socket基础知识 Socket(套接字)用于描述IP地址和端口&#xff0c…

4年测试工作经验,跳槽之后面试20余家公司的总结

先说一下自己的个人情况,普通二本计算机专业毕业,懂python,会写脚本,会selenium,会性能,然而离职后到今天都没有收到一份offer!一直在待业中,从离职第一天就开始准备简历&#xff0c…

【Vue 基础】尚品汇项目-02-路由组件的搭建

项目路由说明: 前端的路由:Key-Value键值对 Key:URL(地址栏中的路径) Value:相应的路由组件 作用:设定访问路径,并将路径和组件映射起来(就是用于局部刷新页面&#xff0…

Vue+Openlayers+proj4实现坐标系转换

场景 Vue中使用Openlayers加载Geoserver发布的TileWMS: Vue中使用Openlayers加载Geoserver发布的TileWMS_霸道流氓气质的博客-CSDN博客 在上面的基础上实现不同坐标系坐标数据的转换。 Openlayers中默认的坐标系是EPSG:900913 EPSG:900913等效于EPSG:3857 可在…

kafka集群压测与优化

影响kafka集群性能的因数有多个,网络带宽、cpu、内存、磁盘读写速度、副本数、分区数、broker数量、内存缓存等因素都会影响kafka集群的性能 1.优化kafka集群配置 server.properties配置文件优化 num.network.threads4 num.io.threads4 socket.send.buffer.bytes…

提升供应链运营效率:企业如何规范化供应商关系?

在现代企业运营中,采购和供应链管理已成为至关重要的环节。企业尤其需要管理好自身供应商,才能够获得优质的原材料和零部件,并确保生产和销售的正常进行。本文将从供应商的筛选、双方合作的流程管理、团队建设等方面,为大家介绍如…

腾讯云COS+SpringBOot实现文件上传下载功能

文章目录 第一步:在.yml文件中配置对应秘钥内容第二步:完成COSConfig类编写第三步:编写Controller类Bug提示: 最近一直在做一个项目,需要支持视频,音频,图片的上传,前面介绍的都是把…

新一代边缘计算盒子,英码科技边缘计算盒子SY-E160

SY-E160 是英码科技推出的新一代智能工作站,内部集成了 4 核强悍处理器 A551.5 GHz,其内置的算力核拥有 16Tops 超强算力。SY-E160 工作站采用低功耗技术设计,支持 宽温度环境工作,可以灵活部署于各种 AI 场景中。 SY-E160 深元 A…

在SaleSmartly管理客户互动的 3 个好处

交互是关系的小组成部分。随着时间的推移,互动的质量决定了人们对这段关系的投入程度,同样的动态也适用于客户和品牌。在跨境电商业务中,每一次互动都是建立信任或失望的机会。 对于许多公司来说,客户互动的主要领域是客户服务功能…

机器学习 - Seaborn 练习, 常见功能查阅

机器学习记录 Seaborn Seaborn 是一个基于 Matplotlib 的 Python 可视化库,提供了一些内置数据集以及进行统计数据可视化和模型现场的 API。 sns.get_dataset_names() 方法会返回一个字符串列表,包含所有内置数据集的名称 练习 Seaborn 依赖Matplotlib, NumPy, SciPy, Pan…

python装不上库的心得

如果在相同的环境下别人能安装上,但你安装不上,可以考虑下面几点 目录 1 升级pip 2 有的包不用刻意装,它跟着别的就一起装了 3 缺少外部依赖 4 有的库用conda安装要方便一点 5 导入名不一定是包名 6 编译安装 7 安装包时&…

西门子S7-1500与FANUC机器人进行EtherNetIP通信的具体方法示例

西门子S7-1500与FANUC机器人进行EtherNetIP通信的具体方法示例 具体方法可参考以下内容: 以下示例中TIA博途的版本为V17,本例中PLC做主站,机器人做从站 一、 西门子PLC一侧的组态设置和编程 首先,我们需要到下载所需的EtherNetIP通信库文件,大家可自行百度获取或者从以下链…