2016-07-28 47 views
0

我是新来的火花应用程序,因此,与此基本的一个挣扎在这里..FSDataInputStream ClassNotFoundException的火花

我从最新的Hadoop的斯卡拉IDE和连接相关的jar文件和火花分布。还有的是,我有工作只是一个基本的斯卡拉对象 - 的Hadoop - 2.7 火花 - 2.0.0

我与这两种情况下,当Hadoop的进程在我的笔记本电脑上运行,也当它们不运行这个尝试它的行为一样。顺便说一句,火花外壳没有抱怨什么

import org.apache.spark.SparkConf 

object SparkAppTest { 
    def main(args : Array[String]) { 
    val conf = new SparkConf().setAppName("Spark test") 
    conf.setMaster("spark://master:7077") 
    conf.setSparkHome("/hadoop/spark") 
    conf.set("spark.driver.host","localhost") 

    } 
} 

当我想“跑”这个使用eclipse - >运行为斯卡拉应用程序,这是与下面的错误而失败 -

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream 
    at org.apache.spark.SparkConf.loadFromSystemProperties(SparkConf.scala:65) 
    at org.apache.spark.SparkConf.<init>(SparkConf.scala:60) 
    at org.apache.spark.SparkConf.<init>(SparkConf.scala:55) 
    at SparkAppTest$.main(SparkAppTest.scala:6) 
    at SparkAppTest.main(SparkAppTest.scala) 
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.fs.FSDataInputStream 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 5 more 
+1

向我们展示您的build.sbt/pom.xml –

+2

您似乎错过了hadoop库依赖项 –

回答

0

感谢@ cricket_007。

我已经选择性地将jar添加到库路径中。当我从Spark的发行目录(火花/罐子)添加所有罐子时,它不再抱怨了。