Spark中的FSDataInputStream ClassNotFoundException

时间:2016-07-28 16:23:48

标签: scala hadoop apache-spark

我是新手来激发应用程序编程,因此在这里与这个基本的算法挣扎..

我有scala ide并附加了最新hadoop和spark发行版的相关jar文件。我正在使用一个基本的scala对象 - hadoop - 2.7 spark - 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 - >以scala应用程序运行,但是失败并出现以下错误 -

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 个答案:

答案 0 :(得分:0)

谢谢@ cricket_007。

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