apache/beam_flink1.9_job_serverApache Beam 是一个统一的编程模型,用于定义批处理和流处理数据并行处理管道,同时提供一套特定于语言的 SDK 用于构建管道,以及在分布式处理后端(如 Apache Flink、Apache Spark、Google Cloud Dataflow 等)执行管道的运行器(Runners)。本镜像基于 Apache Beam,特别优化了与 Apache Flink 1.9 版本的集成,提供 Job Server 功能,支持在 Flink 1.9 集群上部署和执行 Beam 数据处理管道。
bashdocker pull apache/beam-flink1.9-job-server:latest
适用于开发调试,直接在容器内启动嵌入式 Flink 集群:
bashdocker run -d \ --name beam-flink-jobserver \ -p 8099:8099 \ # Job Server 端口 -e BEAM_PIPELINE_RUNNER=FlinkRunner \ -e FLINK_MODE=embedded \ apache/beam-flink1.9-job-server:latest
生产环境推荐,指定外部 Flink 1.9 集群地址:
bashdocker run -d \ --name beam-flink-jobserver \ -p 8099:8099 \ -e BEAM_PIPELINE_RUNNER=FlinkRunner \ -e FLINK_MODE=cluster \ -e FLINK_MASTER_URL=flink-cluster:8081 \ # 外部 Flink 集群 JobManager 地址 -v /local/jobs:/jobs \ # 挂载本地作业目录 apache/beam-flink1.9-job-server:latest
yamlversion: '3' services: beam-jobserver: image: apache/beam-flink1.9-job-server:latest ports: - "8099:8099" environment: - BEAM_PIPELINE_RUNNER=FlinkRunner - FLINK_MODE=cluster - FLINK_MASTER_URL=flink-jobmanager:8081 - JOB_SERVER_PORT=8099 - LOG_LEVEL=INFO volumes: - ./jobs:/opt/beam/jobs # 挂载作业 JAR/Python 脚本目录 depends_on: - flink-jobmanager - flink-taskmanager flink-jobmanager: image: flink:1.9-scala_2.11 ports: - "8081:8081" command: jobmanager environment: - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager flink-taskmanager: image: flink:1.9-scala_2.11 depends_on: - flink-jobmanager command: taskmanager environment: - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager
| 环境变量名 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
BEAM_PIPELINE_RUNNER | 指定管道运行器 | FlinkRunner | DirectRunner, SparkRunner 等 |
FLINK_MODE | Flink 运行模式 | cluster | embedded(嵌入式), cluster(集群) |
FLINK_MASTER_URL | Flink 集群 JobManager 地址 | localhost:8081 | Flink 集群实际地址 |
JOB_SERVER_PORT | Job Server 监听端口 | 8099 | 1-65535 未占用端口 |
LOG_LEVEL | 日志级别 | INFO | DEBUG, WARN, ERROR |
BEAM_JOB_ARGS | 作业额外参数(JSON 格式) | {} | 如 {"input":"hdfs:///data","output":"hdfs:///result"} |
启动容器时可通过命令行参数覆盖默认配置,例如:
bashdocker run apache/beam-flink1.9-job-server:latest \ --port 8099 \ --flink-master flink-cluster:8081 \ --log-level DEBUG
Beam 模型定义了数据处理管道的核心抽象,确保跨场景和后端的一致性:
本镜像兼容以下 Apache Beam SDK 版本:
beam-sdks-java-core 依赖。apache-beam[flink] 包。github.com/apache/beam/sdks/v2/go 库。注:不同 SDK 编写的管道需通过对应语言的提交工具提交至 Job Server(如 Java 作业通过
beam-runner-flink-job-server提交,Python 作业通过beam-cli提交)。
Beam 支持在多种分布式引擎上执行管道,本镜像默认集成以下运行器:
BEAM_PIPELINE_RUNNER=SparkRunner 切换。.py 脚本。bash# Java 作业提交示例(需安装 beam-cli) beam submit \ --job-server=localhost:8099 \ --runner=FlinkRunner \ ./wordcount.jar \ --input=hdfs:///input.txt \ --output=hdfs:///output
docker logs beam-flink-jobserver 查看作业提交和执行日志。[***])查看作业执行状态、Checkpoint 指标等。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务