Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

submit spark application java.lang.ClassNotFoundException: org.apache.spark.deploy.k8s.features.VolcanoFeatureStep

Abierto
#669 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
java, kubernetes

Línea de trabajo

Comienza con el SparkApplication YAML y la Java ClassNotFoundException para org.apache.spark.deploy.k8s.features.VolcanoFeatureStep. Comprueba si ese feature step está disponible en la imagen declarada de Spark 3.5.7 y si se admiten los ajustes relacionados con Volcano; después, reproduce el envío con la configuración proporcionada. Se considera terminado cuando la aplicación se envía sin este fallo de carga de clases.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

type/bug
Affected Stackable version

spark operator version: 25.11.0

Affected Apache Spark-on-Kubernetes version

spark version: 3.5.7-stackable25.11.0

Current and expected behavior

提交spark任务的yaml如下
`apiVersion: spark.stackable.tech/v1alpha1
kind: SparkApplication
metadata:
name: spark-streaming
namespace: spark
spec:
sparkImage:
productVersion: 3.5.7
mode: cluster
mainClass: org.apache.spark.examples.SparkPi
mainApplicationFile: "local:///stackable/spark/examples/jars/spark-examples.jar"
args:
- "1000"
sparkConf:
spark.kubernetes.submission.waitAppCompletion: "false"
# 删除固定的 pod name,让 operator 管理
spark.kubernetes.driver.pod.name: "spark-streaming-driver"
spark.kubernetes.executor.podNamePrefix: "spark-streaming"

# --- Celeborn 配置 ---
spark.shuffle.manager: "org.apache.spark.shuffle.celeborn.SparkShuffleManager"
spark.celeborn.master.endpoints: "celeborn-master-0.celeborn-master-svc.spark.svc.cluster.local"
spark.celeborn.client.push.enabled: "true"
spark.celeborn.client.fetch.enabled: "true"

spark.kubernetes.scheduler.name: "volcano"
spark.kubernetes.driver.pod.featureSteps: "org.apache.spark.deploy.k8s.features.VolcanoFeatureStep"
spark.kubernetes.executor.pod.featureSteps: "org.apache.spark.deploy.k8s.features.VolcanoFeatureStep"
# --- 动态分配与资源 ---
spark.dynamicAllocation.enabled: "false"
spark.executor.instances: "2"
spark.executor.cores: "2"
spark.executor.memory: "1g"
spark.driver.cores: "1"
spark.driver.memory: "512m"

#在 Spark Conf 中也指定 SA,确保 Spark 内部客户端知道用哪个 SA
spark.kubernetes.driver.serviceAccountName: "spark-app-sa"
spark.kubernetes.executor.serviceAccountName: "spark-app-sa"

driver:
#使用 podOverrides 指定 K8s 原生的 serviceAccountName
podOverrides:
spec:
serviceAccountName: "spark-app-sa"
config:
resources:
cpu:
min: "1"
max: "2"
memory:
limit: "1Gi"

executor:
replicas: 1
podOverrides:
spec:
serviceAccountName: "spark-app-sa"
config:
resources:
cpu:
min: "1700m"
max: "3"
memory:
limit: "2Gi"
`
报错日志如下:
Image

Possible solution

No response

Additional context

No response

Environment

No response

Would you like to work on fixing this bug?

None

Lenguaje dominante
Rust
Estrellas
73
Forks
5
Merge medio
7 h 3 min
PR fusionados (30 d)
10

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de stackabletech/spark-k8s-operator

Todos los issues de stackabletech/spark-k8s-operator

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.