aks中的Spark错误:无法找到或加载主类org.apache.spark.launcher.main

wixjitnu  于 2021-05-17  发布在  Spark
关注(0)|答案(2)|浏览(1383)

更新1:添加spark安装中缺失的片段和env变量后-错误:找不到或加载主类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. 我在scala 2.12.12中使用spark tag 2.4.5。我已经完成了以下所有步骤:
创建了具有acr和azure存储、serviceaccount和角色的aks
内置Spark源
建立docker映像并推送到acr
构建示例jar并推送到存储
代理api服务器(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地址,spark映像名,jar位置,api服务器地址,任何东西,我仍然会得到相同的错误。
我想我一定是犯了一些愚蠢的错误,因为似乎没有什么比现在更能破坏命令了,但我真的不能把它搞定。有没有人知道哪里出了问题?

vlurs2pr

vlurs2pr1#

好吧,所以我用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
lstz6jyr

lstz6jyr2#

看起来您正在执行的计算机上可能有问题 spark-submit . 您可能在正在执行的计算机的类路径上缺少一些jar spark-submit . 值得检查一下spark安装-错误:找不到或加载主类org.apache.spark.launcher.main

相关问题