SeaTunnel系列之:部署SeaTunnel的Spark和Flink引擎
- [运行 SeaTunnel](#运行 SeaTunnel)
- [快速开始使用 Flink](#快速开始使用 Flink)
- [快速开始使用 Spark](#快速开始使用 Spark)
运行 SeaTunnel
现在您已经下载了 SeaTunnel 二进制包和连接器插件。接下来,您可以选择不同的引擎选项来运行同步任务。
如果您使用 Flink 运行同步任务,则无需部署 SeaTunnel 引擎服务集群。您可以参考使用 Flink 快速开始来运行您的同步任务。
如果您使用 Spark 运行同步任务,则同样无需部署 SeaTunnel 引擎服务集群。您可以参考使用 Spark 快速开始来运行您的同步任务。
如果您使用内置的 SeaTunnel 引擎(Zeta)来运行任务,则需要先部署 SeaTunnel 引擎服务。请参考使用 SeaTunnel 引擎快速开始。
快速开始使用 Flink
步骤 1: 部署 SeaTunnel 和连接器
在开始之前,请确保已按照部署中的描述下载并部署了 SeaTunnel。
步骤 2: 部署和配置 Flink
请首先下载 Flink(所需版本 >= 1.12.0)。
配置 SeaTunnel: 修改 ${SEATUNNEL_HOME}/config/seatunnel-env.sh 中的设置,并将 FLINK_HOME 设置为 Flink 的部署目录。
步骤 3: 添加作业配置文件以定义作业
编辑 config/v2.streaming.conf.template,该文件确定 Seatunnel 启动后数据输入、处理和输出的方式和逻辑。以下是配置文件的一个示例,与上述提到的示例应用相同。
bash
env {
parallelism = 1
job.mode = "BATCH"
}
source {
FakeSource {
plugin_output = "fake"
row.num = 16
schema = {
fields {
name = "string"
age = "int"
}
}
}
}
transform {
FieldMapper {
plugin_input = "fake"
plugin_output = "fake1"
field_mapper = {
age = age
name = new_name
}
}
}
sink {
Console {
plugin_input = "fake1"
}
}
第 4 步:运行 SeaTunnel 应用程序
您可以使用以下命令启动应用程序:
对于 Flink 版本在 1.12.x 到 1.14.x 之间的:
bash
cd "apache-seatunnel-${version}"
./bin/start-seatunnel-flink-13-connector-v2.sh --config ./config/v2.streaming.conf.template
对于 Flink 版本在 1.15.x 到 1.18.x 之间的:
bash
cd "apache-seatunnel-${version}"
./bin/start-seatunnel-flink-15-connector-v2.sh --config ./config/v2.streaming.conf.template
查看输出:当您运行命令时,可以在控制台中看到其输出。这是判断命令是否成功执行的标志。
SeaTunnel 控制台将打印如下日志:
bash
fields : name, age
types : STRING, INT
row=1 : elWaB, 1984352560
row=2 : uAtnp, 762961563
row=3 : TQEIB, 2042675010
row=4 : DcFjo, 593971283
row=5 : SenEb, 2099913608
row=6 : DHjkg, 1928005856
row=7 : eScCM, 526029657
row=8 : sgOeE, 600878991
row=9 : gwdvw, 1951126920
row=10 : nSiKE, 488708928
row=11 : xubpl, 1420202810
row=12 : rHZqb, 331185742
row=13 : rciGD, 1112878259
row=14 : qLhdI, 1457046294
row=15 : ZTkRx, 1240668386
row=16 : SGZCr, 94186144
快速开始使用 Spark
步骤 1: 部署 SeaTunnel 和连接器
在开始之前,请确保您已按照部署中的描述下载并部署了 SeaTunnel。
步骤 2: 部署和配置 Spark
请先下载 Spark(所需版本 >= 2.4.0)。更多信息请参阅快速开始: 独立模式。
配置 SeaTunnel:更改 ${SEATUNNEL_HOME}/config/seatunnel-env.sh 中的设置,并将 SPARK_HOME 设置为 Spark 的部署目录。
步骤 3: 添加作业配置文件以定义作业
编辑 config/seatunnel.streaming.conf.template,该文件确定 SeaTunnel 启动后数据输入、处理和输出的方式和逻辑。以下是配置文件的一个示例,与上述示例应用相同。
bash
env {
parallelism = 1
job.mode = "BATCH"
}
source {
FakeSource {
plugin_output = "fake"
row.num = 16
schema = {
fields {
name = "string"
age = "int"
}
}
}
}
transform {
FieldMapper {
plugin_input = "fake"
plugin_output = "fake1"
field_mapper = {
age = age
name = new_name
}
}
}
sink {
Console {
plugin_input = "fake1"
}
}
步骤4:运行SeaTunnel应用程序
您可以通过以下命令启动应用程序:
Spark 2.4.x
bash
cd "apache-seatunnel-${version}"
./bin/start-seatunnel-spark-2-connector-v2.sh \
--master local[4] \
--deploy-mode client \
--config ./config/v2.streaming.conf.template
Spark3.x.x
bash
cd "apache-seatunnel-${version}"
./bin/start-seatunnel-spark-3-connector-v2.sh \
--master local[4] \
--deploy-mode client \
--config ./config/v2.streaming.conf.template
查看输出:当你运行命令时,可以在控制台中看到其输出。这是判断命令是否成功执行的标志。
SeaTunnel 控制台将打印如下日志:
bash
fields : name, age
types : STRING, INT
row=1 : elWaB, 1984352560
row=2 : uAtnp, 762961563
row=3 : TQEIB, 2042675010
row=4 : DcFjo, 593971283
row=5 : SenEb, 2099913608
row=6 : DHjkg, 1928005856
row=7 : eScCM, 526029657
row=8 : sgOeE, 600878991
row=9 : gwdvw, 1951126920
row=10 : nSiKE, 488708928
row=11 : xubpl, 1420202810
row=12 : rHZqb, 331185742
row=13 : rciGD, 1112878259
row=14 : qLhdI, 1457046294
row=15 : ZTkRx, 1240668386
row=16 : SGZCr, 94186144