专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
spark

bitnamicharts/spark

bitnamicharts

Bitnami Apache Spark的Helm Chart,用于在Kubernetes集群上部署高性能大规模计算引擎,支持数据处理、机器学习和实时流处理,提供Java、Python、Scala和R的API。

下载次数: 0状态:社区镜像维护者:bitnamicharts仓库类型:镜像最近更新:8 个月前
轩辕镜像,加速的不只是镜像。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,加速的不只是镜像。点击查看

Bitnami Apache Spark 软件包

Apache Spark 是一个高性能的大规模计算任务引擎,适用于数据处理、机器学习和实时数据流等场景。它包含 Java、Python、Scala 和 R 的 API。

Apache Spark 概述

商标说明:本软件列表由 Bitnami 打包。产品中提及的各个商标分属各自公司所有,使用这些商标并不意味着任何关联或背书。

快速入门

console
helm install my-release oci://registry-1.docker.io/bitnamicharts/spark

希望在生产环境中使用 Apache Spark?请尝试 VMware Tanzu Application Catalog,即 Bitnami 目录的商业版。

⚠️ 重要通知:Bitnami 目录即将变更

自 2025 年 8 月 28 日起,Bitnami 将升级其公共目录,在新的 Bitnami Secure Images 计划下提供精选的强化、安全聚焦镜像集。作为此次转型的一部分:

  • 首次向社区用户开放流行容器镜像的安全优化版本访问权限。
  • Bitnami 将开始在免费层中弃用对非强化、基于 Debian 的软件镜像的支持,并将逐步从公共目录中移除非最新标签。因此,社区用户将只能访问数量减少的强化镜像。这些镜像仅以“latest”标签发布,适用于开发目的。
  • 从 8 月 28 日开始,在两周内,所有现有容器镜像(包括旧版本或带版本号的标签,如 2.50.0、10.6)将从公共目录(docker.io/bitnami)迁移至“Bitnami Legacy”仓库(docker.io/bitnamilegacy),且不再接收更新。
  • 对于生产工作负载和长期支持,建议用户采用 Bitnami Secure Images,其中包括强化容器、更小的***面、CVE 透明度(通过 VEX/KEV)、SBOM 以及企业支持。

这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提升所有 Bitnami 用户的安全态势。更多详情,请访问 https://github.com/bitnami/containers/issues/83267%E3%80%82

简介

本 Chart 使用 Helm 包管理器在 Kubernetes 集群上引导 https://github.com/bitnami/containers/tree/main/bitnami/spark 部署。

Apache Spark 包含 Java、Python、Scala 和 R 的 API。

前提条件

  • Kubernetes 1.23+
  • Helm 3.8.0+

安装 Chart

要使用发布名称 my-release 安装 Chart:

console
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/spark

注意:您需要将占位符 REGISTRY_NAME 和 REPOSITORY_NAME 替换为 Helm Chart 仓库和存储库的引用。例如,对于 Bitnami,需使用 REGISTRY_NAME=registry-1.docker.io 和 REPOSITORY_NAME=bitnamicharts。

这些命令使用默认配置在 Kubernetes 集群上部署 Apache Spark。参数 部分列出了可在安装过程中配置的参数。

提示:使用 helm list 列出所有发布

配置和安装详情

资源请求和限制

Bitnami Charts 允许为 Chart 部署内的所有容器设置资源请求和限制。这些配置位于 resources 值中(参见参数表)。设置请求对于生产工作负载至关重要,应根据具体使用场景进行调整。

为简化此过程,Chart 包含 resourcesPreset 值,可根据不同预设自动设置 resources 部分。有关这些预设的详细信息,请参见 https://github.com/bitnami/charts/blob/main/bitnami/common/templates/_resources.tpl#L15%E3%80%82%E4%BD%86%E5%9C%A8%E7%94%9F%E4%BA%A7%E5%B7%A5%E4%BD%9C%E8%B4%9F%E8%BD%BD%E4%B8%AD%EF%BC%8C%E4%B8%8D%E5%BB%BA%E8%AE%AE%E4%BD%BF%E7%94%A8 resourcesPreset,因为它可能无法完全适应您的特定需求。有关容器资源管理的更多信息,请参阅 Kubernetes 官方文档。

Prometheus 指标

通过将 metrics.enabled 设置为 true,可将此 Chart 与 Prometheus 集成。这将在容器和服务中公开 Spark 原生的 Prometheus 端口。服务还将包含必要的注解,以便被 Prometheus 自动抓取。

Prometheus 要求

集成需确保已安装 Prometheus 或 Prometheus Operator。可安装 https://github.com/bitnami/charts/tree/main/bitnami/prometheus 或 https://github.com/bitnami/charts/tree/main/bitnami/kube-prometheus%EF%BC%8C%E4%BB%A5%E5%9C%A8%E9%9B%86%E7%BE%A4%E4%B8%AD%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2%E5%8F%AF%E7%94%A8%E7%9A%84 Prometheus。

与 Prometheus Operator 集成

通过设置 metrics.serviceMonitor.enabled=true,Chart 可部署 ServiceMonitor 对象以与 Prometheus Operator 集成。确保集群中已安装 Prometheus Operator CustomResourceDefinitions,否则将失败并显示以下错误:

text
no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"

安装 https://github.com/bitnami/charts/tree/main/bitnami/kube-prometheus 以获取必要的 CRD 和 Prometheus Operator。

滚动标签与不可变标签

强烈建议在生产环境中使用不可变标签。这可确保即使相同标签更新为不同镜像,部署也不会自动更改。

如果主容器有新版本、重大变更或严重漏洞,Bitnami 将发布新的 Chart 以更新其容器。

备份和恢复

要在 Kubernetes 上备份和恢复 Helm Chart 部署,需使用 Kubernetes 备份/恢复工具 Velero 备份源部署的持久卷,并将其附加到新部署。有关使用 Velero 的说明,请参见 此指南。

定义自定义配置

要使用自定义配置,需创建包含 spark-env.sh 文件的 ConfigMap。ConfigMap 名称必须在部署时提供。

要为主节点设置配置,使用 master.configurationConfigMap=configMapName;为工作节点设置配置,使用 worker.configurationConfigMap=configMapName。

这些值可同时在单个 ConfigMap 中设置,或使用两个 ConfigMap。ConfigMap 中还可提供额外的 spark-defaults.conf 文件。您可同时使用这两个文件,或仅使用其中一个。

提交应用

要向 Apache Spark 集群提交应用,使用 spark-submit 脚本,该脚本可在 https://github.com/apache/spark/tree/master/bin 获取。

以下命令演示了部署 Apache Spark 随附的示例应用的过程。将 k8s-apiserver-host、k8s-apiserver-port、spark-master-svc 和 spark-master-port 占位符替换为您部署的主节点主机/IP 地址和端口。

console
$ ./bin/spark-submit \
    --class org.apache.spark.examples.SparkPi \
    --conf spark.kubernetes.container.image=bitnami/spark:3 \
    --master k8s://https://k8s-apiserver-host:k8s-apiserver-port \
    --conf spark.kubernetes.driverEnv.SPARK_MASTER_URL=spark://spark-master-svc:spark-master-port \
    --deploy-mode cluster \
    ./examples/jars/spark-examples_2.12-3.2.0.jar 1000

此命令示例假设您已下载 Spark 二进制发行版,可在 Apache Spark 下载 获取。

有关使用自定义应用的完整步骤,请参阅 Spark 的 在 Kubernetes 上运行 Spark 指南。

注意:如果配置了 RPC 身份验证,目前无法向独立集群提交应用。了解更多关于此问题。

配置 Spark Master 作为反向代理

Spark 支持将 Spark Master 配置为工作节点和应用 UI 的反向代理。这很有用,因为 Spark Master UI 否则可能使用私有 IPv4 地址链接到 Spark 工作节点和 Spark 应用。

结合 ingress 配置,您可设置 master.configOptions 和 worker.configOptions,告知 Spark 反向代理工作节点和应用 UI,以实现在无需直接访问其主机的情况下进行访问:

yaml
master:
  configOptions:
    -Dspark.ui.reverseProxy=true
    -Dspark.ui.reverseProxyUrl=https://spark.your-domain.com
worker:
  configOptions:
    -Dspark.ui.reverseProxy=true
    -Dspark.ui.reverseProxyUrl=https://spark.your-domain.com
ingress:
  enabled: true
  hostname: spark.your-domain.com

有关参数的详细信息,请参见 Spark 配置 文档。

配置 Apache Spark 安全性

配置 SSL 通信

要启用工作节点和主节点之间的安全传输,部署 Helm Chart 时设置 ssl.enabled=true Chart 参数。

创建证书和密码密钥

需为密码和证书创建两个密钥。两个密钥的名称应使用 security.passwordsSecretName 和 security.ssl.existingSecret Chart 参数进行配置。

创建证书和证书密钥

要生成证书密钥,首先生成两个证书并将其重命名为 spark-keystore.jks 和 spark-truststore.jks。如需测试,可使用 https://raw.githubusercontent.com/confluentinc/confluent-platform-security-tools/master/kafka-generate-ssl.sh%E3%80%82

创建证书后,为其创建密钥,文件名为键。键必须命名为 spark-keystore.jks 和 spark-truststore.jks,内容必须为 JKS 格式的文本。

创建密码密钥

密码密钥应包含三个键:rpc-authentication-secret、ssl-keystore-password 和 ssl-truststore-password。

配置 Chart

创建密钥后,配置 Chart 并设置各种安全相关参数,包括引用先前创建的密钥的 security.certificatesSecretName 和 security.passwordsSecretName 参数。以下是 Chart 部署的示例配置:

text
security.certificatesSecretName=my-secret
security.passwordsSecretName=my-passwords-secret
security.rpc.authenticationEnabled=true
security.rpc.encryptionEnabled=true
security.storageEncrytionEnabled=true
security.ssl.enabled=true
security.ssl.needClientAuth=true

注意:如果配置了 RPC 身份验证,目前无法向独立集群提交应用。了解更多关于此问题。

设置 Pod 亲和性

此 Chart 允许使用 XXX.affinity 参数设置自定义亲和性。有关 Pod 亲和性的更多信息,请参见 Kubernetes 文档。

作为替代方案,您可使用 https://github.com/bitnami/charts/tree/main/bitnami/common#affinities Chart 中提供的 Pod 亲和性、Pod 反亲和性和节点亲和性预设配置。为此,设置 XXX.podAffinityPreset、XXX.podAntiAffinityPreset 或 XXX.nodeAffinityPreset 参数。

参数

全局参数

名称描述值
global.imageRegistry全局 Docker 镜像仓库""
global.imagePullSecrets全局 Docker 仓库密钥名称数组[]
global.defaultStorageClass持久卷的全局默认 StorageClass""
global.storageClass已弃用:使用 global.defaultStorageClass 替代""
global.security.allowInsecureImages允许跳过镜像验证false
global.compatibility.openshift.adaptSecurityContext调整部署的 securityContext 部分,使其与 Openshift restricted-v2 SCC 兼容:移除 runAsUser、runAsGroup 和 fsGroup,让平台使用其允许的默认 ID。可能的值:auto(如果检测到运行的集群是 Openshift 则应用)、force(始终执行调整)、disabled(不执行调整)auto

通用参数

名称描述值
kubeVersion强制目标 Kubernetes 版本(未设置则使用 Helm 能力)""
nameOverride部分覆盖 common.names.fullname 模板的字符串(将保留发布名称)""
fullnameOverride完全覆盖 common.names.fullname 模板的字符串""
namespaceOverride完全覆盖 common.names.namespace 的字符串""
commonLabels添加到所有部署对象的标签{}
commonAnnotations添加到所有部署对象的注解{}
clusterDomainKubernetes 集群域名cluster.local
extraDeploy随发布部署的额外对象数组[]
initScripts初始化脚本字典,作为模板评估{}
initScriptsCM包含初始化脚本的 ConfigMap,作为模板评估""
initScriptsSecret包含初始化时执行的 /docker-entrypoint-initdb.d 敏感脚本的密钥,作为模板评估""
diagnosticMode.enabled启用诊断模式(所有探针将被禁用,命令将被覆盖)false
diagnosticMode.command覆盖部署中所有容器的命令["sleep"]
diagnosticMode.args覆盖部署中所有容器的参数["infinity"]

Spark 参数

名称描述值
image.registrySpark 镜像仓库REGISTRY_NAME
image.repositorySpark 镜像存储库REPOSITORY_NAME/spark
image.digestSpark 镜像摘要,格式为 sha256:aa.... 注意:如果设置此参数,将覆盖标签""
image.pullPolicySpark 镜像拉取策略IfNotPresent
image.pullSecrets指定 docker-registry 密钥名称数组[]
image.debug启用镜像调试模式false
hostNetwork启用主机网络false

Spark 主节点参数

名称描述值
master.enabled部署主节点有状态集true
master.existingConfigmap包含主节点自定义配置的现有 ConfigMap 名称""
master.containerPorts.http主节点 HTTP Web 界面监听端口8080
master.containerPorts.https主节点 HTTPS Web 界面监听端口8480
master.containerPorts.cluster主节点与工作节点通信监听端口7077
master.automountServiceAccountToken在 Pod 中挂载服务账户令牌false
master.hostAliases部署 Pod 的主机别名[]
master.extraContainerPorts主节点内运行作业的监听端口[]
master.daemonMemoryLimit主节点守护进程的内存限制""
master.configOptions以 "-Dx=y" 形式设置配置选项的字符串""
master.extraEnvVars传递给主节点容器的额外环境变量[]
master.extraEnvVarsCM包含主节点额外环境变量的现有 ConfigMap 名称""

注意:此 Chart 的 README 超出了 DockerHub 25000 字符的长度限制,因此已被截断。完整 README 可在 https://github.com/bitnami/charts/blob/main/bitnami/spark/README.md 查看。

更多相关 Docker 镜像与资源

以下是 bitnamicharts/spark 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • bitnami/spark Docker 镜像说明(Apache Spark 大数据处理引擎,Bitnami 企业级配置)
  • library/spark Docker 镜像说明(Apache Spark 大数据处理引擎,官方标准版本)
  • apache/spark Docker 镜像说明(Apache Spark 大数据处理引擎,Apache 官方版本)
  • library/flink Docker 镜像说明(Apache Flink,流处理和批处理大数据引擎)
  • apache/hadoop Docker 镜像说明(Apache Hadoop 大数据处理框架,适合分布式存储和计算)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 spark 镜像标签

docker pull docker.xuanyuan.run/bitnamicharts/spark:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull bitnamicharts/spark:<标签>

更多 spark 镜像推荐

spark logo

library/spark

Docker 官方镜像
Apache Spark 是一款专为大规模数据处理打造的统一分析引擎,它集成了批处理、流处理、机器学习、图计算等多种数据处理能力,通过基于内存的计算模型显著提升数据处理速度,具备高效、易用且可扩展的特性,能为企业和开发者提供一站式的大数据分析解决方案,支持从数据提取、清洗、转换到深度分析与应用部署的全流程,满足各类复杂数据场景下的处理需求,助力实现数据驱动的高效决策与业务创新。
119 次收藏100万+ 次下载
18 天前更新
bitnami/spark logo

bitnami/spark

Bitnami Secure Images(VMware Tanzu)
比特纳米Spark安全镜像是一种为Apache Spark大数据处理框架提供的预配置、安全加固的软件镜像,它集成了必要的依赖组件,经过严格的安全审查与漏洞修复,支持快速部署和持续更新,确保用户能够便捷、安全地搭建和运行Spark集群,适用于企业级大数据分析、数据处理等场景,满足合规性要求并有效降低运维复杂度。
189 次收藏1000万+ 次下载
8 个月前更新
apache/spark logo

apache/spark

Apache 软件基金会镜像
Apache Spark是由Apache软件基金会开发的开源分布式计算系统,专为大数据处理设计,支持批处理、流处理、机器学习和图计算等多种数据处理模式,通过基于内存的计算引擎显著提升处理速度,具备高效、易用且可扩展的特性,广泛应用于数据科学与大数据分析领域,为用户提供快速、灵活的大数据处理解决方案。
98 次收藏1000万+ 次下载
2 个月前更新
rancher/spark logo

rancher/spark

rancher
暂无描述
1 次收藏3.7千+ 次下载
10 年前更新
intel/spark logo

intel/spark

intel
暂无描述
3千+ 次下载
3 年前更新
localstack/spark logo

localstack/spark

localstack
暂无描述
557 次下载
4 年前更新

查看更多 spark 相关镜像

轩辕镜像配置手册

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

Docker 配置

登录仓库拉取

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

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

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

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

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

免费版与专业版区别

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

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

为什么拉取镜像的 :latest 标签,拿到的往往不是「最新」镜像?

latest 与「最新」

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
bitnamicharts/spark
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.