簡體   English   中英

Spark不通過spark-submit查找客戶端程序

[英]Spark not locating client program via spark-submit

我正在嘗試將spark作業部署到spark集群中,並且面臨着我相信的類加載問題。

錯誤詳情如下:

java.lang.ClassNotFoundException: org.examples.datasets.FlightDataProcessor
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at org.apache.spark.util.Utils$.classForName(Utils.scala:238)
        at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:810)
        at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:167)
        at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:195)
        at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86)
        at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:924)
        at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:933)
        at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
19/06/02 06:26:11 INFO ShutdownHookManager: Shutdown hook called

目前,我必須將應用程序jar復制到spark jars文件夾,作為部署腳本的一部分來解決此問題。

但是我相信spark-submit驅動程序應該智能地完成這個事情,因為每次我想要部署一些火花工作我需要將所有客戶端程序復制到jars它根本不方便

環境信息:

Spark版本: 2.11-2.4.3

Scala版本: 2.11.8

這是我的源代碼的鏈接:

部署腳本

https://github.com/anhtv08/spark-cassandra-example/blob/master/scripts/submit_spark_flight_job.sh

Spark職位代碼

https://github.com/anhtv08/spark-cassandra-example/blob/master/src/main/scala/org/examples/datasets/FlightDataProcessor.scala

感謝任何幫助。

由於代碼可用是jar的一部分,我們可以將jar上傳到hdfs或maven repo並使用以下任一選項。
* --jars / spark.jars - 我們可以指定上傳到HDFS的jar的路徑。
* --packages / spark.jars.packages - 我們可以指定maven坐標,如果我們能夠將jar上傳到maven repo(我們還需要指定Spark關於maven repo的憑據)

暫無
暫無

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

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