Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何在集群模式下使用Spark提交配置:JAR、软件包?_Mongodb_Maven_Configuration_Cluster Computing_Pyspark - Fatal编程技术网

Mongodb 如何在集群模式下使用Spark提交配置:JAR、软件包?

Mongodb 如何在集群模式下使用Spark提交配置:JAR、软件包?,mongodb,maven,configuration,cluster-computing,pyspark,Mongodb,Maven,Configuration,Cluster Computing,Pyspark,在集群模式(纱线集群)中使用Spark submit时,JAR和包配置让我感到困惑:对于JAR,我可以将它们放在HDFS中,而不是本地目录中。但是对于包,因为它们使用Maven和HDFS构建,所以无法工作。我的方式如下: spark-submit --jars hdfs:///mysql-connector-java-5.1.39-bin.jar --driver-class-path /home/liac/test/mysql-connector-java-5.1.39/mysql-conne

在集群模式(纱线集群)中使用Spark submit时,JAR和包配置让我感到困惑:对于JAR,我可以将它们放在HDFS中,而不是本地目录中。但是对于包,因为它们使用Maven和HDFS构建,所以无法工作。我的方式如下:

spark-submit --jars hdfs:///mysql-connector-java-5.1.39-bin.jar --driver-class-path /home/liac/test/mysql-connector-java-5.1.39/mysql-connector-java-5.1.39-bin.jar --conf "spark.mongodb.input.uri=mongodb://192.168.27.234/test.myCollection2?readPreference=primaryPreferred" --conf "spark.mongodb.output.uri=mongodb://192.168.27.234/test.myCollection2"  --packages com.mongodb.spark:hdfs:///user/liac/package/jars/mongo-spark-connector_2.11-1.0.0-assembly.jar:1.0.0 --py-files /home/liac/code/diagnose_disease/tool.zip main_disease_tag_spark.py --master yarn-client
发生错误:

`Exception in thread "main" java.lang.IllegalArgumentException: requirement failed: Provided Maven Coordinates must be in the form 'groupId:artifactId:version'. The coordinate provided is: com.mongodb.spark:hdfs:///user/liac/package/jars/mongo-spark-connector_2.11-1.0.0-assembly.jar:1.0.0
有人能告诉我如何在集群模式下使用JAR和包吗?我的方式有什么问题吗?

您使用的
--packages
参数是错误的:

--packages com.mongodb.spark:hdfs:///user/liac/package/jars/mongo-spark-connector_2.11-1.0.0-assembly.jar:1.0.0
正如输出所示,它需要采用
groupId:artifactId:version
的形式。您不能将URL与它一起使用

内置存储库支持的示例如下:

$SPARK_HOME/bin/spark-shell --packages org.mongodb.spark:mongo-spark-connector_2.11:1.0.0
如果您坚持使用自己的jar,您可以通过
--存储库
提供它。参数的值为

以逗号分隔的远程存储库列表,用于搜索包中指定的Maven坐标

例如,在您的情况下,它可能是

--repositories hdfs:///user/liac/package/jars/ --packages org.mongodb.spark:mongo-spark-connector_2.11:1.0.0
您使用的
--packages
参数是错误的:

--packages com.mongodb.spark:hdfs:///user/liac/package/jars/mongo-spark-connector_2.11-1.0.0-assembly.jar:1.0.0
正如输出所示,它需要采用
groupId:artifactId:version
的形式。您不能将URL与它一起使用

内置存储库支持的示例如下:

$SPARK_HOME/bin/spark-shell --packages org.mongodb.spark:mongo-spark-connector_2.11:1.0.0
如果您坚持使用自己的jar,您可以通过
--存储库
提供它。参数的值为

以逗号分隔的远程存储库列表,用于搜索包中指定的Maven坐标

例如,在您的情况下,它可能是

--repositories hdfs:///user/liac/package/jars/ --packages org.mongodb.spark:mongo-spark-connector_2.11:1.0.0

在您的脚本中:
--master warn-client
?是的,我也在您的脚本中尝试了“--master warn-cluster:
--master warn-client
?是的,我也尝试了“--master warn-cluster”谢谢!这对我帮助很大。谢谢!这对我帮助很大。