Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#669 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
java, kubernetes

調査の方向性

SparkApplication YAML と org.apache.spark.deploy.k8s.features.VolcanoFeatureStep に対する Java ClassNotFoundException から始めます。その feature step が宣言された Spark 3.5.7 image で利用可能か、また Volcano 関連の設定がサポートされているかを確認し、その後、提供された設定で submission を再現します。アプリケーションがこのクラス読み込みエラーなしで submit できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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

主要言語
Rust
スター
73
フォーク
5
平均マージ
9時間 55分
マージ済み PR(30日)
16

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

stackabletech/spark-k8s-operator のほかの issue

stackabletech/spark-k8s-operator の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。