1

我正在尝试在依赖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不分发给我所有的火花执行器呢?

4

1 回答 1

0

您应该使用正确的 Maven 坐标语法:

--packages com.datastax.spark:spark-cassandra-connector_2.10:1.6.0

于 2016-06-30T15:49:57.370 回答