SeaTunnel Edge Agent 安装包下载与源码构建完整指南
2026/9/19 22:43:06 网站建设 项目流程

SeaTunnel Edge Agent 安装包下载与源码构建完整指南

【免费下载链接】seatunnelSeaTunnel is a multimodal, high-performance, distributed, massive data integration tool.项目地址: https://gitcode.com/GitHub_Trending/se/seatunnel

本篇指南面向需要在边缘主机上部署 SeaTunnel Edge Agent 的运维与开发人员,系统讲解 Edge Agent 独立安装包的获取方式:从环境准备、官方二进制 tarball 下载,到基于当前仓库源码构建、目录结构确认与安装后衔接,全程附带可复制命令与源码级佐证。读完即可在边缘主机上获得一个可直接运行 Edge Agent 的安装根目录。

Edge Agent 是 SeaTunnel 面向边缘场景的轻量数据采集组件:在仅能本机访问数据源的边缘主机上采集数据,经 WAL 缓冲后,通过 EdgeSocket 行协议发送到正在运行的 SeaTunnel 作业(详见 Edge Agent 简介)。与主分发包apache-seatunnel-<version>-bin.tar.gz不同,Edge Agent 以独立 tarball 发布,本指南的每一步都对应当前仓库中可验证的实现。

步骤 1:环境准备

在边缘主机上,Edge Agent 的运行依赖极少,只需满足以下三项:

项目要求说明
JavaJDK 8 或 11(更高版本 LTS 一般可用)需正确设置JAVA_HOME,启动脚本直接调用java
磁盘queue.sqlite-path(WAL 与位点)及日志目录可写WAL 是 Edge Agent 本地出站队列的持久化机制
网络边缘主机可访问output.endpoint配置的 EdgeSocket 地址数据最终通过 EdgeSocket 行协议发送给 Engine 侧作业

磁盘项的queue.sqlite-path即 SQLite WAL 缓冲数据库文件路径,默认值为data/wal.db,见示例配置 seatunnel-edge-agent/config/agent.yaml 中queue段的注释;日志默认写入安装根目录下的log/。所谓"位点"指文件采集的读取位置(source position),与 WAL 行一起持久化,二者都落在 SQLite 数据库中。

需要注意:边缘主机不需要安装完整的 SeaTunnel Engine 分发包。Edge Agent 是独立的轻量常驻进程,只负责"采集 → 缓冲 → 发送",完整管道编排发生在 Engine 集群侧。

步骤 2:下载二进制包

Edge Agent 以独立 tarball 发布,与主 SeaTunnel 分发包分离,文件名为:

apache-seatunnel-edge-agent-<version>-bin.tar.gz

在官方下载页提供后,可执行以下命令下载并解压(<seatunnel-version>替换为目标版本号,如2.3.x):

export version="<seatunnel-version>" wget "https://archive.apache.org/dist/seatunnel/${version}/apache-seatunnel-edge-agent-${version}-bin.tar.gz" tar -xzf "apache-seatunnel-edge-agent-${version}-bin.tar.gz" cd "apache-seatunnel-edge-agent-${version}"

解压后,安装根目录是包含bin/config/starter/的目录。

:::tip 安装根目录变量 下文中的EDGE_AGENT_HOME即指该安装根目录。启动脚本按自身路径解析目录(见 seatunnel-edge-agent.sh,脚本以BASH_SOURCE为基准向上解析出BASE_DIR);建议导出EDGE_AGENT_HOME便于运维与 systemd 配置。 :::

步骤 3:源码构建

若需要自定义构建、验证最新代码或离线分发,可从源码构建安装包:

git clone https://github.com/apache/seatunnel.git cd seatunnel ./mvnw clean package -pl seatunnel-dist -am -DskipTests -Dskip.spotless=true

构建产物路径:

seatunnel-dist/target/apache-seatunnel-edge-agent-<version>-bin.tar.gz

将 tarball 拷贝到边缘主机并解压即可。构建过程由 seatunnel-dist/pom.xml 中的edge-agent-binassembly 执行生成(finalName 为apache-seatunnel-edge-agent-${project.version},同时生成edge-agent-src源码包)。

构建说明与注意事项

  • -pl seatunnel-dist -am:只构建分发模块及其依赖模块,避免全量构建整个仓库;
  • -DskipTests:跳过测试以加速构建;
  • -Dskip.spotless=true:跳过代码风格检查(spotless),如需提交修改则不应跳过;
  • 构建前需确保本机具备 JDK 与 Maven 环境,仓库自带./mvnwMaven Wrapper,无需单独安装 Maven。

无需执行 install-plugin

与主 SeaTunnel 分发包不同,Edge Agent不需要执行bin/install-plugin.sh。原因可从 seatunnel-edge-agent-starter/pom.xml 验证:内置的输入采集、传输与序列化能力(seatunnel-commonseatunnel-apiseatunnel-edge-agent-transportseatunnel-edge-agent-connector)已作为依赖打入seatunnel-edge-agent-starter.jar,开箱即用,无需外部插件目录。

步骤 4:确认目录结构

解压后应得到如下目录结构:

apache-seatunnel-edge-agent-<version>/ bin/ seatunnel-edge-agent.sh seatunnel-edge-agent.cmd config/ agent.yaml # 示例配置 log4j2.properties starter/ seatunnel-edge-agent-starter.jar logging/ # 日志依赖 README.md

各组成部分的打包来源可在 assembly-edge-agent-bin.xml 中一一对应:

  • bin/:来自仓库seatunnel-edge-agent/bin目录(含 Linux 启动脚本与 Windows 批处理脚本),fileMode0755保证可执行;
  • config/:来自仓库seatunnel-edge-agent/config目录,即 agent.yaml 示例配置与log4j2.properties日志配置;
  • starter/seatunnel-edge-agent-starter.jar:由seatunnel-edge-agent-starter模块打包而成(见 assembly-edge-agent-bin.xml 的 dependencySet 输出映射),这是 Edge Agent 的主可运行 JAR;
  • starter/logging/:打包了 SLF4J 与 Log4j2 相关日志依赖(slf4j-apijcl-over-slf4jlog4j-apilog4j-corelog4j-slf4j-impl),见 assembly-edge-agent-bin.xml;
  • README.md:来自仓库seatunnel-edge-agent模块。

扩展(高级):lib/ 目录

默认安装包不含lib/目录。仅当你自行构建扩展插件时,可将额外 jar 放入lib/。主 JAR 通过maven-shade-plugin打成 fat jar(见 seatunnel-edge-agent-starter/pom.xml),并将日志依赖排除在 shade 之外、改由starter/logging/提供,这种拆分保证了扩展 jar 的类加载隔离与日志一致性。

安装后衔接:验证与启动

拿到安装包后,可按 部署指南 完成生产部署,要点包括:

  1. 导出EDGE_AGENT_HOMEPATH(建议写入/etc/profile.d/edge-agent.sh);
  2. 编辑$EDGE_AGENT_HOME/config/agent.yaml,至少配置input.pathsoutput(transport 类型时须配置endpointtoken);
  3. 在 Engine 侧提交含 EdgeSocket Source 的作业,监听地址与 token 与 Agent 的output.endpoint一致;
  4. 执行sh bin/seatunnel-edge-agent.sh start启动,日志中出现BOOTSTRAP_READY即表示启动成功。

从源码确认,启动脚本还支持一系列环境变量覆盖默认路径(EDGE_AGENT_CONFIGEDGE_AGENT_PID_FILEEDGE_AGENT_ID_FILEEDGE_AGENT_LOG_FILEEDGE_AGENT_LOG_CONFIGEDGE_AGENT_LOG_DIREDGE_AGENT_APP_LOG_NAMEEDGE_AGENT_STARTUP_READY_TIMEOUT_S),多实例部署时正是通过为每个实例指定独立的配置、PID 文件与 WAL 路径来实现隔离(见 seatunnel-edge-agent.sh)。

相关文档导航

  • 快速开始:本地 Console 验证 → 接入 Engine 的完整上手流程
  • 部署指南:生产环境部署检查清单与多实例部署
  • 配置参数说明:agent.yaml 全量参数表
  • 输入配置指南 与 输出配置指南:按场景编写 YAML
  • 架构概览:WAL、投递语义与 Engine 边界
  • EdgeSocket Source:Engine 端接收协议
  • 运维指南:启停、日志与排障

【免费下载链接】seatunnelSeaTunnel is a multimodal, high-performance, distributed, massive data integration tool.项目地址: https://gitcode.com/GitHub_Trending/se/seatunnel

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询