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

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

说明

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

1 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

2 使用场景

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

3 使用示例

下面以直接使用为例进行解释,也可以参考使用自定义 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}