You need to enable JavaScript to run this app.
导航
Spark 镜像列表
最近更新时间:2025.02.14 15:28:14首次发布时间:2024.05.14 19:38:22

EMR on VKE服务提供Spark的预置镜像仓库,便于用户基于这些镜像做二次开发。

说明

1.EMR服务提供的对外镜像列表,设置有用户名和密码,可联系EMR服务工程师获取。
2.EMR提供的镜像列表,由于网络的限制,默认只支持在火山引擎的ECS机器上可以访问,包括在ECS机器部署的Pod服务或其他服务。

Spark 镜像列表

关于 Spark 提供如下场景的镜像仓库

  • emr-vke-public-{region}.cr.volces.com/emr/spark:包含 Spark 及其所需依赖的镜像,以及在该基础镜像之上,提供访问 StarRocks的jar 包,用于访问StarRocks集群的库表,是火山引擎自研的 connector,可以直读直写 StarRocks 的表。其中{region}是 Spark 集群所在的 Region英文名。目前支持 Region 地区有华北、华东、华南、亚太东南(柔佛)

Region(中文名称)

Region

华北

cn-beijing

华东

cn-shanghai

华南

cn-guangzhou

亚太东南(柔佛)

ap-southeast-1

同时,不同的 EMR 产品版本,提供的 Spark 版本、操作系统版本可能也有所不同。通过镜像 Tag 来区分
{spark.version}--py{python.version}-ubuntu{ubuntu.version}[-{build.version}]-{emr.version}

参数

说明

spark.version

Spark 的版本号。示例:3.5.1

python.version

Python 版本。示例:3.9

ubuntu.version

Ubuntu 系统的版本。示例:20.04

build.version

EMR 内部跟踪 Spark 源码信息的版本号,用户无需关心。

emr.version

EMR on VKE 服务的产品版本。示例1.5.0

支持的 Tag 列表:

  • 3.5.1-1.0.0.87-1.4.0
  • 3.5.1-py3.9-ubuntu20.04-57-1.5.0

华北 Region 镜像列表

镜像名称

大小

备注依赖包

emr-vke-qa-cn-beijing.cr.volces.com/emr/spark:3.5.1-py3.9-ubuntu20.04-57

1.68GiB

Java:1.8
Python:3.9
Hadoop:3.3.4
Scala:2.12.18
StarRocks:3.2.3

emr-vke-public-cn-beijing.cr.volces.com/emr/spark:3.5.1-1.0.0.87-1.4.0

1.68GiB

Java:1.8
Python:3.9
Hadoop:3.3.4
Scala:2.12.18

华东 Region 镜像列表

镜像名称

大小

备注依赖包

emr-vke-public-cn-shanghai.cr.volces.com/emr/spark:3.5.1-py3.9-ubuntu20.04-57-1.5.0

1.68GiB

Java:1.8
Python:3.9
Hadoop:3.3.4
Scala:2.12.18
StarRocks:3.2.3

华南 Region 镜像列表

镜像名称

大小

备注依赖包

emr-vke-public-cn-guangzhou.cr.volces.com/emr/spark:3.5.1-py3.9-ubuntu20.04-57-1.5.0

1.68GiB

Java:1.8
Python:3.9
Hadoop:3.3.4
Scala:2.12.18
StarRocks:3.2.3

柔佛 Region 镜像列表

镜像名称

大小

备注依赖包

emr-vke-public-ap-southeast-1.cr.volces.com/emr/spark:3.5.1-py3.9-ubuntu20.04-57-1.5.0

1.68GiB

Java:1.8
Python:3.9
Hadoop:3.3.4
Scala:2.12.18
StarRocks:3.2.3

使用场景

  • 直接使用:EMR 提供的镜像可以直接开箱即用,满足相关场景的任务运行。
  • 作为基础镜像:若 EMR 提供的镜像不完全满足需求时,可以基于这些镜像做二次开发,定义属于特定任务的镜像。

使用示例

下面以直接使用为例进行解释,也可以参考使用自定义 Docker 镜像运行作业

  1. 环境准备
    1. 部署 EMR on VKE 产品中 Ray 服务。
    2. 通过 kubectl 命令运行 RayJob 作业,需要安装 kubectl 工具(参考安装和设置 kubectl),且配置火山引擎 VKE 集群的连接信息(参考连接 VKE 集群)。
  2. 生成密钥

您可以使用下述命令生成秘钥:

kubectl create secret docker-registry my-docker-secret --docker-server={DOCKER_REGISTRY_SERVER} --docker-username={DOCKER_USER} --docker-password={DOCKER_PASSWORD}  -n {YOUR_NAMESPACE}

其中

  • my-docker-secret:秘钥名称。 用于下面 Yaml 文件中imagePullSecrets的值。
  • YOUR_NAMESPACE:执行 Ray 作业的命名空间。
  • DOCKER_REGISTRY_SERVERDOCKER_USERDOCKER_PASSWORD:docker镜像仓库地址、用户名和密码,可以联系下 EMR 服务工程师获取相关参数值。
  1. 以 SparkPi 使用示例

以 test.yaml 文件示例

apiVersion: "sparkoperator.k8s.io/v1beta2"
kind: SparkApplication
metadata:
  name: spark-pi
spec:
  type: Scala
  sparkVersion: 3.5.1
  mainClass: org.apache.spark.examples.SparkPi
  mainApplicationFile: "local:///opt/spark/examples/jars/spark-examples_2.12-3.5.1.jar"
  arguments:
    - "100"
  driver:
    cores: 1
    coreLimit: 1000m
    memory: 1g
    image: emr-vke-public-cn-beijing.cr.volces.com/emr/spark-sr:3.5.1-1.0.0.87-1.4.0  # 指定 Driver 镜像
  executor:
    cores: 1
    coreLimit: 1000m
    memory: 1g
    instances: 1
    image: emr-vke-public-cn-beijing.cr.volces.com/emr/spark-sr:3.5.1-1.0.0.87-1.4.0 # 指定 executor 镜像
  imagePullSecrets:
    - my-docker-secret # 指定 vke 下载 docker 镜像的秘钥

提交 RayJob:

kubectl apply -f test.yaml -n {YOUR_NAMESPACE}