共计 3763 个字符,预计需要花费 10 分钟才能阅读完成。
简介
新一代分布式超高性能云原生数据同步工具 – 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 版本信息,如下
下载并装置 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。
留神:该操作须要联网,你也能够手动下载 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 的局部用户
1, https://seatunnel.apache.org/docs/2.3.1/seatunnel-engine/about
2, https://seatunnel.apache.org/docs/2.3.1/start-v2/locally/depl…
3, https://seatunnel.apache.org/docs/2.3.1/seatunnel-engine/clus…
本文由 白鲸开源科技 提供公布反对!