我试图在依赖于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
分发给我所有的火花追捕者呢?
答案 0 :(得分:0)
您应该使用正确的Maven坐标语法:
--packages com.datastax.spark:spark-cassandra-connector_2.10:1.6.0
见