依赖项没有分布到Spark集群



我试图在Mesos集群上执行Spark作业,依赖于Spark -cassandra-connector库,但它一直失败

Exception in thread "main" java.lang.NoClassDefFoundError: com/datastax/spark/connector/package$

我从spark文档中了解到

将jar和文件复制到执行节点上每个SparkContext的工作目录中。...用户还可以通过使用——packages提供以逗号分隔的maven坐标列表来包含任何其他依赖项。

但是好像只分发了pucker-assembly-1.0.jar task jar。

我正在运行spark 1.6.1与scala 2.10.6。下面是我正在执行的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不分配给我所有的火花执行器?

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

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

  • https://mvnrepository.com/artifact/com.datastax.spark/spark-cassandra-connector_2.10
  • http://spark.apache.org/docs/latest/submitting-applications.html
  • http://spark.apache.org/docs/latest/programming-guide.html using-the-shell

相关内容

  • 没有找到相关文章

最新更新