SeaTunnel系列之:Apache SeaTunnel编译和安装

打印 上一主题 下一主题

主题 1832|帖子 1832|积分 5496

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在本节中,我们将向您展示如作甚 SeaTunnel 设置开发情况,然后在 JetBrains IntelliJ IDEA 中运行一个简单的示例。
您可以在任何您喜欢的开发情况中开发或测试 SeaTunnel 代码,但这里我们利用 JetBrains IDEA 作为示例,逐步教您。
Prepare

在我们开始讨论如何设置情况之前,需要做一些准备工作。请确保你已经安装了以下软件:


  • git已安装。
  • (目前支持JDK8/JDK11)已安装,并且设置了JAVA_HOME。
  • (目前仅支持scala 2.11.12)已安装。
  • IDEA已安装。
编译

克隆源代码

首先,您需要从 GitHub 克隆 SeaTunnel 源代码。
  1. git clone git@github.com:apache/seatunnel.git
复制代码
本地安装子项目

克隆源代码后,您应该运行 ./mvnw 命令将子项目安装到 maven 本地存储库。否则,您的代码无法在 JetBrains IntelliJ IDEA 中正确启动。
  1. ./mvnw install -Dmaven.test.skip
复制代码
从源代码构建 SeaTunnel

安装 maven 后,您可以利用以下命令进行编译和打包。
  1. mvn clean package -pl seatunnel-dist -am -Dmaven.test.skip=true
复制代码
构建子模块

如果要单独构建子模块,可以利用以下命令进行编译和打包。
  1. # This is an example of building the redis connector separately
  2. mvn clean package -pl seatunnel-connectors-v2/connector-redis -am -DskipTests -T 1C
复制代码
安装 JetBrains IDEA Scala 插件

现在,你可以打开你的 JetBrains IntelliJ IDEA 并浏览源代码。但在 IDEA 中构建 Scala 代码之前,你还应该安装 JetBrains IntelliJ IDEA 的 Scala 插件。
安装 JetBrains IDEA Lombok 插件

在运行以下示例之前,您还应该安装 JetBrains IntelliJ IDEA 的 Lombok 插件。
代码风格

Apache SeaTunnel 利用 Spotless 进行代码风格和格式检查。你可以运行以下命令,Spotless 将自动修复代码风格和格式错误:
  1. ./mvnw spotless:apply
复制代码
你可以将预提交钩子文件 /tools/spotless_check/pre-commit.sh 复制到你的 .git/hooks/ 目录中,如许每次你利用 git commit 提交代码时,Spotless 都会自动为你修复问题。
运行简单示例

完成上述全部步调后,您就完成了情况设置,并可以运行我们提供的开箱即用的示例。全部示例都在 seatunnel-examples 模块中,您可以选择一个您感爱好的示例,并根据需要在 IDEA 中运行或调试。
这里我们以 seatunnel-examples/seatunnel-engine-examples/src/main/java/org/apache/seatunnel/example/engine/SeaTunnelEngineLocalExample.java 为例,当您成功运行它时,可以看到如下输出:
  1. 2024-08-10 11:45:32,839 INFO  org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand -
  2. ***********************************************
  3.            Job Statistic Information
  4. ***********************************************
  5. Start Time                : 2024-08-10 11:45:30
  6. End Time                  : 2024-08-10 11:45:32
  7. Total Time(s)             :                   2
  8. Total Read Count          :                   5
  9. Total Write Count         :                   5
  10. Total Failed Count        :                   0
  11. ***********************************************
复制代码
不但如此

我们全部的示例都利用了简单的数据源和吸收器,以淘汰依赖并便于运行。您可以在 resources/examples 中更改示例配置。如果您希望利用 PostgreSQL 作为数据源并将数据输出到控制台,可以将配置更改为如下内容。请留意,当利用除 FakeSource 和 Console 之外的连接器时,需要修改 seatunnel-example 相应子模块中的 pom.xml 文件中的依赖项。
  1. env {
  2.   parallelism = 1
  3.   job.mode = "BATCH"
  4. }
  5. source {
  6.     Jdbc {
  7.         driver = org.postgresql.Driver
  8.         url = "jdbc:postgresql://host:port/database"
  9.         username = postgres
  10.         password = "123456"
  11.         query = "select * from test"
  12.         table_path = "database.test"
  13.     }
  14. }
  15. sink {
  16.   Console {}
  17. }
复制代码
安装

下载 SeaTunnel 发布包

下载二进制包
访问 SeaTunnel 下载页面 下载最新的二进制包 seatunnel-<‍version‍>-bin.tar.gz。
或者您也可以通过终端下载:
  1. export version="2.3.11"
  2. wget "https://archive.apache.org/dist/seatunnel/${version}/apache-seatunnel-${version}-bin.tar.gz"
  3. tar -xzvf "apache-seatunnel-${version}-bin.tar.gz"
复制代码
下载连接器插件

从版本 2.2.0-beta 开始,二进制包默认不再提供连接器依赖。因此,初次利用时,您需要运行以下命令来安装连接器(或者,您可以手动从 Apache Maven 仓库 下载连接器并将其移动到 connectors/ 目录。对于 2.3.5 之前的版本,请将它们放置在 connectors/seatunnel 目录中):
  1. sh bin/install-plugin.sh
复制代码
如果你需要特定的连接器版本,例如 2.3.11,你需要执行以下命令:
  1. sh bin/install-plugin.sh
  2. 2.3.11
复制代码
通常,你并不需要全部的连接器插件。你可以通过配置 config/plugin_config 来指定所需的插件。例如,如果你希望示例应用步伐正常工作,你需要 connector-console 和 connector-fake 插件。你可以按以下方式修改 plugin_config 配置文件:
  1. --seatunnel-connectors--
  2. connector-fake
  3. connector-console
  4. --end--
复制代码
你可以在 ${SEATUNNEL_HOME}/connectors/plugins-mapping.properties 文件中找到全部支持的连接器及其对应的 plugin_config 配置名称。
提示:
如果你希望通过手动下载连接器来安装连接器插件,只需下载相关的连接器插件并将其放置在 ${SEATUNNEL_HOME}/connectors/ 目录下。
从源代码构建 SeaTunnel

下载源代码
从源代码构建。下载源代码的方式与下载二进制包的方式相同。您可以从下载页面下载源代码,或者从Github 仓库克隆源代码。
构建源代码
  1. cd seatunnel
  2. sh ./mvnw clean install -DskipTests -Dskip.spotless=true
  3. # get the binary package
  4. cp seatunnel-dist/target/apache-seatunnel-2.3.11-bin.tar.gz /The-Path-You-Want-To-Copy
  5. cd /The-Path-You-Want-To-Copy
  6. tar -xzvf "apache-seatunnel-${version}-bin.tar.gz"
复制代码
当从源代码构建时,全部连接器插件和一些须要的依赖项(例如:MySQL驱动步伐)都包罗在二进制包中。您可以直接利用这些连接器插件,而无需单独安装它们。
运行 SeaTunnel

现在您已经下载了 SeaTunnel 二进制包和连接器插件。接下来,您可以选择不同的引擎选项来运行同步任务。
如果您利用 Flink 运行同步任务,则无需部署 SeaTunnel 引擎服务集群。您可以参考利用 Flink 快速开始来运行您的同步任务。
如果您利用 Spark 运行同步任务,则同样无需部署 SeaTunnel 引擎服务集群。您可以参考利用 Spark 快速开始来运行您的同步任务。
如果您利用内置的 SeaTunnel 引擎(Zeta)来运行任务,则需要先部署 SeaTunnel 引擎服务。请参考利用 SeaTunnel 引擎快速开始。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表