Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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
Java 即使将libs添加到hadoop文件夹中,也找不到BSONFileInputFormat_Java_Mongodb_Maven_Hadoop_Bson - Fatal编程技术网

Java 即使将libs添加到hadoop文件夹中,也找不到BSONFileInputFormat

Java 即使将libs添加到hadoop文件夹中,也找不到BSONFileInputFormat,java,mongodb,maven,hadoop,bson,Java,Mongodb,Maven,Hadoop,Bson,我正在使用crcmnky的存储库编写电影推荐。 我已经编译了mongo hadoop和mongo java驱动程序,并将jar:mongo-hadoop-core-1.3.2-SNAPSHOT和mongo-java-driver-2.13.3.jar存储在$hadoop_HOME/lib文件夹中。 完成所有这些之后,我构建了项目,并按照自述文件中给出的说明运行它。 我得到一个错误: Exception in thread "main" java.lang.NoClassDefFoundError

我正在使用crcmnky的存储库编写电影推荐。 我已经编译了mongo hadoop和mongo java驱动程序,并将jar:mongo-hadoop-core-1.3.2-SNAPSHOTmongo-java-driver-2.13.3.jar存储在$hadoop_HOME/lib文件夹中。 完成所有这些之后,我构建了项目,并按照自述文件中给出的说明运行它。 我得到一个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/mongodb/hadoop/BSONFileInputFormat
at com.mongodb.spark.demo.Recommender.main(Recommender.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:358)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: com.mongodb.hadoop.BSONFileInputFormat
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

可能出了什么问题?我正确地遵循了所有的指示。

我遇到了完全相同的问题,宙斯的儿子花了我一辈子的时间才解决。试试这个:

  • 找到您的mongo-hadoop-core-1.4.1-SNAPSHOT.jar和mongo-java-driver-2.12.3.jar

  • 将它们添加到--master的--jars in spark submit命令“before”和应用程序jar位置。这是关键的一步。如果您在这两个之后提到--jar,那么出于某种疯狂的原因,您将继续得到BSONFileInputFormat异常。因此,您的spark submit命令实际上是-

    ./bin/spark submit--class“com.mongodb.spark.demo.Recommender”--jars/home/killshot/Downloads/mongo-hadoop/core/build/libs/mongo-hadoop-core-1.4.1-SNAPSHOT.jar,/home/killshot/Downloads/mongo-hadoop/work/mongodb-spark-demo/target/lib/mongo-java-driver-2.12.3.jar---master-local[4]