跳到主要内容
版本:Next

Edge Agent 部署指南

在边缘主机安装并运行 Edge Agent:每个安装根目录一个常驻进程,读取本地 input、经 WAL 缓冲出站数据,并向配置的 EdgeSocket 端点发送批次。

没有 Agent 集群管理器;通过 每台边缘主机(或每个数据域)一个 Agent 水平扩展,各自使用独立的 agent.yaml 与 WAL 路径。Engine 侧接入独立:部署含 EdgeSocket Source 的作业,监听地址与 Agent output.endpoint 一致。

首次使用? 请先完成 快速开始(Console,再生产模式),再按本文检查清单部署。

部署前确认

  • 各边缘主机已 下载或构建 安装包
  • input.paths 与 output(transport 端点与 token)与 Engine 作业一致 — 见输出配置指南
  • 边缘主机到 EdgeSocket 监听地址的网络可达
  • 启动后日志含 BOOTSTRAP_READY;监控 WAL 与 RECEIVED/重试 — 见运维

不使用 bin/seatunnel-edge-agent.sh 的前台调试方式见运维

1. 下载

下载与构建 Edge Agent 安装包

2. 配置 EDGE_AGENT_HOME

export EDGE_AGENT_HOME=/opt/apache-seatunnel-edge-agent-<version>
export PATH=$PATH:$EDGE_AGENT_HOME/bin

可写入 /etc/profile.d/edge-agent.sh 供全局使用。

3. 配置 agent.yaml

默认路径:$EDGE_AGENT_HOME/config/agent.yaml。通过 EDGE_AGENT_CONFIG 覆盖。

最小化生产示例:

input:
paths:
- "/var/log/myapp/*.log"

output:
type: transport
endpoint: "seatunnel-engine-host:9876"
auth-type: token
token: "<与-edgesocket-source-一致的密钥>"

示例符合当前默认结构:未写 queue、retry(sqlite-path 默认为 data/wal.db)。需调 WAL 或重试策略时见配置参数说明

4. 配置文件输入

input 是 agent.yaml 中最易因场景而变的部分:glob 路径、尾随/补数、多行堆栈、NDJSON 等。请使用独立指南中的示例:

文件输入配置指南 — 路径 glob、multiline 与 match: after|before、日志轮转及 8 个场景 YAML。

速查:

主题文档
参数表(paths、encoding、glob-scan-interval-ms 等)配置说明 — input
场景 YAML(NDJSON、Java 日志、按日期滚动文件等)文件输入配置指南

5. Engine 侧前置条件

在 Engine 上提交含 EdgeSocket Source 的作业,监听地址与 token 须与 Agent output 一致:

env {
parallelism = 1
job.mode = "STREAMING"
}

source {
EdgeSocket {
port = 9876
token = "your-token"
}
}

sink {
Console {}
}

保存为 edgesocket-prod.conf,提交作业:

./bin/seatunnel.sh --config ./config/edgesocket-prod.conf
警告

启动 Agent 前,先确认边缘主机可访问 Engine 监听端口。RAW/PACKET 模式与 Sink 替换见输出配置指南,线协议见 EdgeSocket Source

6. 启动 Agent

cd "$EDGE_AGENT_HOME"
sh bin/seatunnel-edge-agent.sh start

查看状态:

sh bin/seatunnel-edge-agent.sh status

成功启动日志示例:

BOOTSTRAP_READY edge-agent started agentId=..., inputId=..., inputType=file, outputType=transport

日志默认输出到 $EDGE_AGENT_HOME/log/edge-agent.log。启动控制输出到 $EDGE_AGENT_HOME/edge-agent.out(除非通过环境变量覆盖)。

7. 停止与升级

sh bin/seatunnel-edge-agent.sh stop

升级步骤:停止 → 替换 starter/ 与 bin/(保留 config/agent.yaml 与 WAL)→ 启动。

若使用自动生成的 ID,请保留安装根目录下的 edge-agent.id 与 WAL 数据库(queue.sqlite-path,默认 data/wal.db,位于 data/ 目录下)。

8. 同一主机多个 Agent

为每个实例使用独立安装根(或独立的 EDGE_AGENT_CONFIG、EDGE_AGENT_PID_FILE、EDGE_AGENT_ID_FILE、queue.sqlite-path),不要共用同一 WAL 文件或 edge-agent.id。

9. JVM 参数

启动脚本直接调用 java,无独立 jvm_options 文件。可按需包装启动命令或编辑 bin/seatunnel-edge-agent.sh。典型边缘设置:

-Xms256m -Xmx512m

前台调试可从安装根目录启动 starter JAR 并指定 --config;亦可执行 bin/seatunnel-edge-agent.sh help,详见运维