我正在尝试在依赖spark-cassandra-connector库的 Mesos 集群上执行 Spark 作业,但它一直失败
Exception in thread "main" java.lang.NoClassDefFoundError: com/datastax/spark/connector/package$
据我了解火花文档
JAR 和文件被复制到执行程序节点上每个 SparkContext 的工作目录。... 用户还可以通过使用 --packages 提供逗号分隔的 maven 坐标列表来包含任何其他依赖项。
但似乎只pucker-assembly-1.0.jar
分发了任务 jar。
我正在使用 scala 2.10.6 运行 spark 1.6.1。这是spark-submit
我正在执行的命令:
spark-submit --deploy-mode cluster
--master mesos://localhost:57811
--conf spark.ssl.noCertVerification=true
--packages datastax:spark-cassandra-connector:1.5.1-s_2.10
--conf spark.cassandra.connection.host=10.0.1.83,10.0.1.86,10.0.1.85
--driver-cores 3
--driver-memory 4000M
--class SimpleApp
https://dripit-spark.s3.amazonaws.com/pucker-assembly-1.0.jar
s3n://logs/E1SR85P3DEM3LU.2016-05-05-11.ceaeb015.gz
那么为什么spark-cassandra-connector
不分发给我所有的火花执行器呢?