专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

apache/beam_flink1.7_job_server Docker 镜像 - 轩辕镜像

beam_flink1.7_job_server
apache/beam_flink1.7_job_server
Apache Beam Flink 1.7作业服务器,用于运行和管理基于Apache Beam的Flink 1.7批处理与流处理作业。
0 次下载activeapache镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Apache Beam 技术文档

1. 镜像概述和主要用途

Apache Beam 是一个统一的数据处理模型,用于定义批处理和流处理数据并行处理管道,同时提供一套特定语言的 SDK 用于构建管道,以及在分布式处理后端执行管道的运行器(Runner)。支持的后端包括 Apache Apex、Apache Flink、Apache Spark、Google Cloud Dataflow 和 Hazelcast Jet 等。其核心目标是简化跨平台、跨场景的数据处理逻辑开发,实现"一次编写,多处运行"的能力。

2. 核心功能和特性

2.1 统一批流处理模型

基于 Google Dataflow 模型演进而来,统一批处理和流处理的编程范式,支持无界数据流(流处理)和有界数据流(批处理)的统一表达,简化复杂数据处理逻辑的开发。

2.2 多语言 SDK 支持

提供多种编程语言的 SDK,满足不同技术栈需求:

  • Java SDK:成熟稳定,支持完整功能
  • Python SDK:适用于数据科学和快速开发场景
  • Go SDK:轻量级,适用于云原生环境
  • 其他语言支持(如 Scala、R 等)可通过社区扩展
2.3 多运行器兼容

支持在多种分布式处理引擎上执行管道,无需修改业务逻辑:

  • DirectRunner:本地执行,用于调试和测试
  • ApexRunner:基于 Apache Hadoop YARN 集群执行(支持嵌入式模式)
  • DataflowRunner:提交至 Google Cloud Dataflow 服务
  • FlinkRunner:在 Apache Flink 集群上执行(代码源自 dataArtisans/flink-dataflow)
  • SparkRunner:在 Apache Spark 集群上执行(代码源自 cloudera/spark-dataflow)
  • JetRunner:在 Hazelcast Jet 集群上执行(代码源自 hazelcast/hazelcast-jet)
2.4 灵活的管道抽象

核心概念包括:

  • PCollection:表示数据集合,支持有界(批处理)或无界(流处理)数据
  • PTransform:定义数据转换逻辑,将输入 PCollection 转换为输出 PCollection
  • Pipeline:管理 PTransform 和 PCollection 构成的有向无环图,用于执行
  • PipelineRunner:指定管道的执行环境和方式

3. 使用场景和适用范围

3.1 终端用户(End Users)

场景:使用现有 SDK 编写数据处理管道,并在指定运行器上执行。
适用范围:数据工程师、数据分析师需快速开发批流处理任务,无需关注底层执行引擎细节。例如:日志数据实时清洗、用户行为分析、ETL 流程构建等。

3.2 SDK 开发者(SDK Writers)

场景:为特定用户群体开发 Beam SDK(如 Scala、R、图形化界面等)。
适用范围:语言专家或框架开发者,需扩展 Beam 的语言生态,满足特定技术栈需求。

3.3 运行器开发者(Runner Writers)

场景:为分布式处理环境开发 PipelineRunner,支持基于 Beam 模型编写的程序。
适用范围:分布式计算框架开发者,需将 Beam 生态集成至自有执行引擎,扩展框架的数据处理能力。

4. 使用方法和配置说明

4.1 Docker 部署方案
4.1.1 基础镜像拉取与运行

Apache Beam 官方未提供统一的 Docker 镜像,建议基于 SDK 语言构建自定义镜像。以下为 Java SDK 示例:

Dockerfile(Java SDK 示例)

dockerfile
FROM maven:3.8.5-openjdk-11 AS builder
WORKDIR /app
COPY pom.xml .
# 缓存依赖
RUN mvn dependency:go-offline
COPY src ./src
# 构建 Beam 管道应用
RUN mvn package -DskipTests

FROM openjdk:11-jre-slim
WORKDIR /app
COPY --from=builder /app/target/*.jar app.jar
# 运行 DirectRunner(本地调试)
ENTRYPOINT ["java", "-jar", "app.jar", "--runner=DirectRunner"]

构建并运行镜像

bash
# 构建镜像
docker build -t beam-java-app:latest .

# 运行(使用 DirectRunner 本地执行)
docker run --rm beam-java-app:latest
4.1.2 分布式运行器配置示例(Flink Runner)

若需提交至 Flink 集群执行,需在运行时指定 Flink 集群地址:

bash
docker run --rm \
  -e FLINK_MASTER=flink-jobmanager:8081 \
  beam-java-app:latest \
  --runner=FlinkRunner \
  --flink-master=${FLINK_MASTER} \
  --streaming=true  # 若为流处理任务
4.1.3 docker-compose 配置(集成 Flink 集群)
yaml
version: "3.8"
services:
  flink-jobmanager:
    image: flink:1.17-scala_2.12
    ports:
      - "8081:8081"
    command: jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager

  flink-taskmanager:
    image: flink:1.17-scala_2.12
    depends_on:
      - flink-jobmanager
    command: taskmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager

  beam-app:
    build: .
    depends_on:
      - flink-jobmanager
    environment:
      - FLINK_MASTER=flink-jobmanager:8081
    command: >
      java -jar app.jar
      --runner=FlinkRunner
      --flink-master=${FLINK_MASTER}
      --jobName=beam-flink-demo
4.2 核心配置参数与环境变量
4.2.1 通用参数
参数名说明示例值
--runner指定运行器类型DirectRunner/FlinkRunner
--jobName任务名称beam-wordcount-demo
--inputFile输入文件路径(批处理)/data/input.txt
--output输出路径/data/output
4.2.2 运行器特定参数
  • FlinkRunner

    参数名说明示例值
    --flink-masterFlink 集群 JobManager 地址flink-jobmanager:8081
    --streaming是否启用流处理模式true/false
    --parallelism任务并行度4
  • SparkRunner

    参数名说明示例值
    --spark-masterSpark 集群 Master 地址spark://spark-master:7077
    --spark-submitSpark 提交命令路径/opt/spark/bin/spark-submit
  • DataflowRunner

    参数名说明示例值
    --projectGCP 项目 IDmy-gcp-project
    --region区域us-central1
    --tempLocationGCS 临时文件路径gs://my-bucket/temp
4.2.3 环境变量
环境变量名说明示例值
BEAM_HOMEBeam 安装路径(可选)/opt/apache-beam
FLINK_CONF_DIRFlink 配置文件目录/etc/flink
SPARK_HOMESpark 安装路径/opt/spark

5. 快速入门示例:WordCount 管道

5.1 Java SDK 示例代码(WordCount.java)
java
import org.apache.beam.sdk.Pipeline;
import org.apache.beam.sdk.io.TextIO;
import org.apache.beam.sdk.options.PipelineOptions;
import org.apache.beam.sdk.options.PipelineOptionsFactory;
import org.apache.beam.sdk.transforms.Count;
import org.apache.beam.sdk.transforms.FlatMapElements;
import org.apache.beam.sdk.transforms.MapElements;
import org.apache.beam.sdk.values.KV;
import org.apache.beam.sdk.values.TypeDescriptors;

import java.util.Arrays;

public class WordCount {
  public static void main(String[] args) {
    PipelineOptions options = PipelineOptionsFactory.fromArgs(args).create();
    Pipeline p = Pipeline.create(options);

    p.apply(TextIO.read().from(options.as(WordCountOptions.class).getInputFile()))
     .apply(FlatMapElements.into(TypeDescriptors.strings())
         .via(line -> Arrays.asList(line.split(" "))))
     .apply(Count.perElement())
     .apply(MapElements.into(TypeDescriptors.strings())
         .via(wordCount -> wordCount.getKey() + ": " + wordCount.getValue()))
     .apply(TextIO.write().to(options.as(WordCountOptions.class).getOutput()));

    p.run().waitUntilFinish();
  }

  public interface WordCountOptions extends PipelineOptions {
    String getInputFile();
    void setInputFile(String value);
    String getOutput();
    void setOutput(String value);
  }
}
5.2 构建并运行
  1. 将上述代码打包为 JAR(通过 Maven/Gradle)
  2. 使用 Docker 运行(DirectRunner 本地模式):
bash
docker run --rm \
  -v $(pwd)/input.txt:/data/input.txt \
  -v $(pwd)/output:/data/output \
  beam-java-app:latest \
  --runner=DirectRunner \
  --inputFile=/data/input.txt \
  --output=/data/output/result

6. 相关资源与支持

  • 官方文档:Apache Beam 官网
  • 快速入门:
    • Java SDK
    • Python SDK
    • Go SDK
  • 社区支持:
    • 用户邮件列表:***
    • 开发者邮件列表:***
    • issue 跟踪:Apache Beam JIRA
查看更多 beam_flink1.7_job_server 相关镜像 →
apache/airflow logo
apache/airflow
by The Apache Software Foundation
Apache Airflow是一个开源的工作流编排平台,旨在通过编程方式(主要使用Python)定义、调度和监控复杂工作流,它以有向无环图(DAG)形式管理任务依赖关系,支持灵活的调度策略(如基于时间、事件或依赖),提供直观的Web界面用于任务状态监控与管理,具备高度可扩展性,可集成多种数据处理工具、云服务及外部系统,广泛应用于数据管道构建、ETL流程自动化、机器学习工作流编排等场景,帮助用户高效管理和执行复杂的任务流程。
6181B+ pulls
上次更新:29 天前
apache/superset logo
apache/superset
by The Apache Software Foundation
Apache Superset是一款开源的数据可视化与数据探索平台,它支持连接多种数据源,允许用户通过直观界面创建交互式仪表盘、图表及报告,无需复杂编程即可进行数据查询与分析,适用于从非技术人员到数据工程师的各类用户,帮助团队高效洞察数据价值,是企业级数据驱动决策的强大工具。
317500M+ pulls
上次更新:5 天前
apache/tika logo
apache/tika
by The Apache Software Foundation
Apache Tika Server的容器镜像,提供内容检测、元数据及文本提取的HTTP服务,便于便捷部署和集成到应用系统中。
5110M+ pulls
上次更新:3 个月前
apache/apisix logo
apache/apisix
by The Apache Software Foundation
Apache APISIX是一款动态、实时、高性能的云原生API网关,提供负载均衡、动态上游、金丝雀发布、熔断、认证、可观测性等丰富流量管理功能,适用于处理传统南北向流量及服务间东西向流量。
10010M+ pulls
上次更新:7 天前
apache/kafka logo
apache/kafka
by The Apache Software Foundation
Apache Kafka是一个开源的分布式流处理平台,旨在提供高吞吐量、低延迟的实时数据流传递服务,支持发布/订阅消息模式,能够持久化存储海量数据流并确保数据可靠性,具备水平扩展能力和容错机制,广泛应用于日志收集、事件驱动架构、实时数据集成及流处理系统等场景,为企业级应用提供高效、稳定的数据流传输与处理解决方案。
19310M+ pulls
上次更新:1 个月前
apache/skywalking-oap-server logo
apache/skywalking-oap-server
by The Apache Software Foundation
Apache SkyWalking OAP Server是开源分布式可观测性平台Apache SkyWalking的核心组件,负责从代理、服务网格等数据源收集指标、追踪和日志数据,通过分析处理后存储于支持多种数据库的后端,并提供查询接口为UI展示及告警功能提供数据支持,助力用户实时监控分布式系统运行状态、诊断性能瓶颈、保障服务稳定性与可靠性。
16710M+ pulls
上次更新:2 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
apache/beam_flink1.7_job_server
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429