本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Apache Beam Java 17 SDK镜像是基于Java 17环境构建的官方Apache Beam开发运行环境,集成了Beam Java SDK核心组件与依赖库。该镜像旨在为Java开发者提供统一的批处理与流处理数据管道开发、测试和运行平台,支持跨多种执行引擎(如DirectRunner、SparkRunner、FlinkRunner)无缝运行,简化分布式数据处理应用的开发与部署流程。
Pipeline、PCollection、Transform)docker pull apache/beam-java17-sdk:latest
挂载本地Beam项目代码至容器,进行开发与调试:
docker run -it --rm -v /path/to/your/beam-project:/app apache/beam-java17-sdk:latest /bin/bash
在容器内运行编译后的Beam应用JAR包:
# 示例:使用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内存
docker run -it --rm \ -e BEAM_RUNNER=SparkRunner \ -e JAVA_OPTS="-Xmx2g -XX:+UseG1GC" \ -v /path/to/project:/app \ apache/beam-java17-sdk:latest \ java -cp /app/target/pipeline.jar com.example.SparkPipeline --spark-master=spark://spark-cluster:7077
对于依赖外部服务(如Kafka、数据库)的复杂管道,可通过docker-compose.yml管理多容器协同:
version: '3.8' services: beam-pipeline: image: 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: flink:1.17-scala_2.12 command: jobmanager environment: - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager kafka: image: confluentinc/cp-kafka:7.3.0 environment: - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 db: image: postgres:14 environment: - POSTGRES_DB=beam_results - POSTGRES_USER=beam_user - POSTGRES_PASSWORD=beam_pass
适用于开发阶段快速验证管道逻辑,无需分布式集群:
docker run -it --rm -v /path/to/project:/app 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
需确保容器可访问Spark集群,配置spark-master地址:
docker run -it --rm -v /path/to/project:/app 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
需提前部署Flink集群,并配置JobManager地址:
docker run -it --rm -v /path/to/project:/app 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以上)免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429