Я могу запустить приложение Spark, которое я написал в Scala локально:
sbt run ...
, и оно работает нормально из командной строки без ошибок.
Когда я «отправляю искру» тому же приложению Spark, которое я написал в Scala, в кластер 2.6.0, следующим образом:
spark-submit --class MyTest --master spark://my-spark-01a:7077 --deploy-mode cluster --supervise --executor-memory 20G --total-executor-cores 100 --jars $IGNITE_JARS,/home/ubuntu/tmp/mytest-assembly-0.3.1.1.jar /home/ubuntu/tmp/mytest-assembly-0.3.1.1.jar
... Я вижу следующую ошибку вstderr из Spark Cluster
18/12/12 00:41:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
18/12/12 00:41:24 INFO spark.SecurityManager: Changing view acls to: ubuntu
18/12/12 00:41:24 INFO spark.SecurityManager: Changing modify acls to: ubuntu
18/12/12 00:41:24 INFO spark.SecurityManager: Changing view acls groups to:
18/12/12 00:41:24 INFO spark.SecurityManager: Changing modify acls groups to:
18/12/12 00:41:24 INFO spark.SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(ubuntu); groups with view permissions: Set(); users with modify permissions: Set(ubuntu); groups with modify permissions: Set()
18/12/12 00:41:24 INFO util.Utils: Successfully started service 'Driver' on port 50983.
18/12/12 00:41:24 INFO worker.WorkerWatcher: Connecting to worker spark://Worker@127.0.0.1:44303
Exception in thread "main" java.lang.ClassNotFoundException: MyTest
Класс 'MyTest' находится в моем /home/ubuntu/tmp/mytest-assembly-0.3.1.1.jar
Я просто не понимаю- это не имеет смысла.Почему Спарк ныть о моем основном классе не найден, когда он находится в банке, которую я разворачиваю?Что (еще) я забываю, чтобы заставить эту вещь просто работать?
Пожалуйста, помогите.