簡體   English   中英

AKS 中的火花。 錯誤:無法找到或加載主類 org.apache.spark.launcher.Main

[英]Spark in AKS. Error: Could not find or load main class org.apache.spark.launcher.Main

更新 1:從Spark 安裝中添加缺失的部分和環境變量后- 錯誤:無法找到或加載主類 org.apache.spark.launcher.Main ,該命令不再拋出錯誤,但會自行打印並且不執行任何操作別的。 這是運行命令的新結果:

"C:\Program Files\Java\jdk1.8.0_271\bin\java" -cp "C:\Users\xxx\repos\spark/conf\;C:\Users\xxx\repos\spark\assembly\target\scala-2.12\jars\*" org.apache.spark.deploy.SparkSubmit --master k8s://http://127.0.0.1:8001 --deploy-mode cluster --conf "spark.kubernetes.container.image=xxx.azurecr.io/spark:spark2.4.5_scala2.12.12" --conf "spark.kubernetes.authenticate.driver.serviceAccountName=spark" --conf "spark.executor.instances=3" --class com.xxx.bigdata.xxx.XMain --name xxx_app https://storage.blob.core.windows.net/jars/xxx.jar

我一直在按照本指南在 AKS 中設置 Spark: https : //docs.microsoft.com/en-us/azure/aks/spark-job 我將 Spark 標簽 2.4.5 與 Scala 2.12.12 一起使用。 我已經完成了以下所有步驟:

  • 使用 ACR 和 Azure 存儲、服務帳戶和角色創建 AKS
  • 內置火花源
  • 構建 docker 鏡像並推送到 ACR
  • 構建示例 SparkPi jar 並推送到存儲
  • 代理 api-server(kubectl 代理)並執行 spark-submit:
./bin/spark-submit \
    --master k8s://http://127.0.0.1:8001 \
    --deploy-mode cluster \
    --name xxx_app\
    --class com.xxx.bigdata.xxx.XMain\
    --conf spark.executor.instances=3 \
    --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark \
    --conf spark.kubernetes.container.image=xxx.azurecr.io/spark:spark2.4.5_scala2.12.12 \
    "https://storage.blob.core.windows.net/jars/xxx.jar"

我得到的只是Error: Could not find or load main class org.apache.spark.launcher.Main

現在,有趣的是,我在命令中更改了什么根本無關緊要。 我可以弄亂 ACR 地址、火花圖像名稱、jar 位置、api 服務器地址等等,但我仍然得到同樣的錯誤。

我想我一定犯了一些愚蠢的錯誤,因為似乎沒有什么比現在更能破壞命令了,但我無法真正確定它。 有人有什么想法可能是錯的嗎?

看起來這可能是您正在執行的機器上的問題spark-submit 您可能在執行spark-submit的機器上的類路徑上丟失了一些 jar。 值得檢查Spark 安裝 - 錯誤:無法找到或加載主類 org.apache.spark.launcher.Main

好的,所以我設法使用 spark-submit.cmd 提交作業。 它可以工作,無需任何額外設置。

我最終沒有設法讓 bash 腳本工作,目前我沒有時間進一步調查它。 因此,很抱歉提供了一個半途而廢的答案,僅部分解決了原始問題,但它仍然是一個解決方案。

下面的命令工作正常

bin\spark-submit.cmd --master k8s://http://127.0.0.1:8001 --deploy-mode cluster --name spark-pi --class org.apache.spark.examples.SparkPi --conf spark.executor.instances=3 --conf spark.kubernetes.authenticate.driver.serviceAccountName=spark --conf spark.kubernetes.namespace=dev --conf spark.kubernetes.container.image=xxx.azurecr.io/spark:spark-2.4.5_scala-2.12_hadoop-2.7.7  https://xxx.blob.core.windows.net/jars/SparkPi-assembly-0.1.0-SNAPSHOT.jar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM