【发布时间】:2014-10-21 18:02:32
【问题描述】:
我正在使用自定义 hadoop 2.4 的集群。我正在尝试将 talend 与火花组件一起使用。 对于 tSparkConnection 组件,我设置了相关的 SparkHost、SparkHome。
对于分发,两个可用选项是 Cloudera 和自定义(不支持)。 选择自定义(不支持)分发时,可以选择自定义 Hadoop 版本以包含相关库。 此处可用的选项包括:Cloudera、HortonWorks、MapR、Apache、Amazon EMR、PivotalHD。但是对我来说,当我选择 Cloudera 时,它带有 Hadoop 2.3,并且我假设所有基本库都丢失了,因此我得到一个“NoClassDefFoundError”,导致无法通过这个 Spark 连接在 Spark 中加载文件。顺便说一句,我的 spark 版本是 1.0.0
我想知道如何解决这个问题以及让这个版本的 Spark 与 Hadoop 2.4 一起运行的方法。
错误复制粘贴如下:
[statistics] connecting to socket on port 3637
[statistics] connected
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/api/java/JavaSparkContext
at sparktest.sparktest_0_1.sparktest.tSparkConnection_2Process(sparktest.java:491)
at sparktest.sparktest_0_1.sparktest.runJobInTOS(sparktest.java:1643)
at sparktest.sparktest_0_1.sparktest.main(sparktest.java:1502)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.api.java.JavaSparkContext
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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
[statistics] disconnected
Job sparktest ended at 13:19 21/10/2014. [exit code=1]
谢谢!
【问题讨论】:
标签: hadoop apache-spark talend