
如果你使用 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 Java 17 SDK镜像是基于Java 17环境构建的官方Apache Beam开发运行环境,集成了Beam Java SDK核心组件与依赖库。该镜像旨在为Java开发者提供统一的批处理与流处理数据管道开发、测试和运行平台,支持跨多种执行引擎(如DirectRunner、SparkRunner、FlinkRunner)无缝运行,简化分布式数据处理应用的开发与部署流程。
Pipeline、PCollection、Transform)4.1.1 拉取镜像
bashdocker pull docker.xuanyuan.run/apache/beam-java17-sdk:latest
4.1.2 交互式开发环境
挂载本地Beam项目代码至容器,进行开发与调试:
bashdocker run -it --rm -v /path/to/your/beam-project:/app docker.xuanyuan.run/apache/beam-java17-sdk:latest /bin/bash
4.1.3 直接执行管道
在容器内运行编译后的Beam应用JAR包:
bash# 示例:使用DirectRunner本地执行批处理管道 java -cp /app/target/your-pipeline.jar com.example.YourPipeline --runner=DirectRunner
镜像支持通过环境变量自定义运行参数,常用配置如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
BEAM_RUNNER | 默认执行引擎(可选值:DirectRunner/SparkRunner/FlinkRunner等) | DirectRunner |
JAVA_OPTS | JVM启动参数(如内存配置、系统属性) | -Xmx512m |
BEAM_SDK_VERSION | Beam SDK版本号(用于验证依赖兼容性) | 镜像内置版本 |
PIPELINE_ARGS | 管道默认参数(如输入路径、输出路径) | 空 |
示例:指定使用SparkRunner并配置JVM内存
bashdocker run -it --rm \ -e BEAM_RUNNER=SparkRunner \ -e JAVA_OPTS="-Xmx2g -XX:+UseG1GC" \ -v /path/to/project:/app \ docker.xuanyuan.run/apache/beam-java17-sdk:latest \ java -cp /app/target/pipeline.jar com.example.SparkPipeline --spark-master=spark://spark-cluster:7077
对于依赖外部服务(如Kafka、数据库)的复杂管道,可通过docker-compose.yml管理多容器协同:
yamlversion: '3.8' services: beam-pipeline: image: docker.xuanyuan.run/apache/beam-java17-sdk:latest volumes: - ./your-beam-project:/app environment: - BEAM_RUNNER=FlinkRunner - JAVA_OPTS=-Xmx1g - PIPELINE_ARGS=--inputTopic=kafka:9092/input --outputTable=jdbc:postgresql://db:5432/results depends_on: - flink-jobmanager - kafka - db # 依赖服务示例(Flink集群、Kafka、PostgreSQL) flink-jobmanager: image: docker.xuanyuan.run/flink:1.17-scala_2.12 command: jobmanager environment: - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager kafka: image: docker.xuanyuan.run/confluentinc/cp-kafka:7.3.0 environment: - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 db: image: docker.xuanyuan.run/postgres:14 environment: - POSTGRES_DB=beam_results - POSTGRES_USER=beam_user - POSTGRES_PASSWORD=beam_pass
4.4.1 本地测试(DirectRunner)
适用于开发阶段快速验证管道逻辑,无需分布式集群:
bashdocker run -it --rm -v /path/to/project:/app docker.xuanyuan.run/apache/beam-java17-sdk:latest \ java -cp /app/target/pipeline.jar com.example.TestPipeline \ --runner=DirectRunner \ --inputFile=/app/test-data/input.txt \ --outputFile=/app/test-data/output.txt
4.4.2 Spark集群执行(SparkRunner)
需确保容器可访问Spark集群,配置spark-master地址:
bashdocker run -it --rm -v /path/to/project:/app docker.xuanyuan.run/apache/beam-java17-sdk:latest \ java -cp /app/target/pipeline.jar com.example.SparkPipeline \ --runner=SparkRunner \ --spark-master=spark://spark-master:7077 \ --spark.app.name=beam-spark-pipeline
4.4.3 Flink集群执行(FlinkRunner)
需提前部署Flink集群,并配置JobManager地址:
bashdocker run -it --rm -v /path/to/project:/app docker.xuanyuan.run/apache/beam-java17-sdk:latest \ java -cp /app/target/pipeline.jar com.example.FlinkPipeline \ --runner=FlinkRunner \ --flink-master=flink-jobmanager:8081 \ --streaming=true
--network参数指定Docker网络JAVA_OPTS内存参数,避免OOM错误(建议生产环境配置-Xmx4g以上)以下是 apache/beam_java17_sdk 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务