
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Apache Beam Flink Job Server镜像基于Apache Beam和Apache Flink技术栈构建,是部署和运行Apache Beam数据处理作业的专用服务器。该镜像作为Flink后端的作业执行载体,提供作业提交、执行、监控的完整生命周期管理,支持使用Beam SDK开发的批处理(Batch)和流处理(Streaming)任务在Flink集群上高效运行。
4.1 Docker快速启动
通过以下命令快速启动单节点Job Server:
bashdocker run -d \ -p 8099:8099 \ --name beam-flink-job-server \ -e FLINK_MASTER=localhost:8081 \ # 连接本地Flink集群JobManager -e DEFAULT_PARALLELISM=4 \ # 设置默认作业并行度 apache/beam-flink-job-server:latest
4.2 Docker Compose配置示例
配合Flink集群部署的docker-compose配置:
yamlversion: '3.8' services: # Flink JobManager(需提前部署Flink集群) flink-jobmanager: image: flink:1.17.0 command: jobmanager environment: - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager ports: - "8081:8081" # Beam Flink Job Server beam-flink-job-server: image: apache/beam-flink-job-server:latest depends_on: - flink-jobmanager ports: - "8099:8099" environment: - FLINK_MASTER=flink-jobmanager:8081 # 连接Flink JobManager - JOB_SERVER_PORT=8099 # 服务监听端口 - DEFAULT_PARALLELISM=2 # 默认并行度 - LOG_LEVEL=INFO # 日志级别
5.1 环境变量配置
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
FLINK_MASTER | Flink集群JobManager地址(格式:host:port) | localhost:8081 |
JOB_SERVER_PORT | 作业服务器监听端口 | 8099 |
DEFAULT_PARALLELISM | 作业默认并行度(任务并行执行的slot数量) | 1 |
LOG_LEVEL | 日志输出级别(DEBUG/INFO/WARN/ERROR) | INFO |
FLINK_CONFIG_DIR | Flink配置文件目录(容器内路径) | /opt/flink/conf |
MAX_PARALLELISM | 作业最大并行度限制 | 10 |
5.2 命令行参数配置
支持通过命令行参数覆盖默认配置,示例:
bashdocker run apache/beam-flink-job-server:latest \ --flink-master flink-jobmanager:8081 \ # 指定Flink集群地址 --port 8099 \ # 指定服务端口 --default-parallelism 4 \ # 设置默认并行度 --log-level DEBUG # 开启DEBUG日志
6.1 Java作业提交
通过Java Beam SDK提交作业至Job Server:
javaimport org.apache.beam.runners.flink.FlinkRunner; import org.apache.beam.sdk.Pipeline; import org.apache.beam.sdk.options.PipelineOptions; import org.apache.beam.sdk.options.PipelineOptionsFactory; import org.apache.beam.sdk.options.FlinkPipelineOptions; public class BeamJobSubmitter { public static void main(String[] args) { // 创建Pipeline配置 PipelineOptions options = PipelineOptionsFactory.create(); FlinkPipelineOptions flinkOptions = options.as(FlinkPipelineOptions.class); // 配置Job Server地址 flinkOptions.setRunner(FlinkRunner.class); flinkOptions.setJobServerAddress("http://beam-flink-job-server:8099"); // 创建Pipeline并定义作业逻辑 Pipeline pipeline = Pipeline.create(flinkOptions); pipeline.apply("Sample Source", ...) // 输入源 .apply("Data Transformation", ...) // 数据转换 .apply("Sample Sink", ...); // 输出目标 // 提交作业并等待完成 pipeline.run().waitUntilFinish(); } }
6.2 Python作业提交
通过Python Beam SDK提交作业:
pythonimport apache_beam as beam from apache_beam.options.pipeline_options import PipelineOptions options = PipelineOptions([ '--runner=FlinkRunner', '--job_server_address=[***] ]) with beam.Pipeline(options=options) as p: (p | 'Read from Source' >> beam.io.ReadFromText('input.txt') | 'Transform Data' >> beam.Map(lambda x: x.upper()) | 'Write to Sink' >> beam.io.WriteToText('output.txt'))
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务