自定义Hadoop Distribution支持Talend中的Spark组件

时间:2014-10-21 18:02:32

标签: hadoop apache-spark talend

我正在使用我们拥有自定义hadoop 2.4的集群。我正在尝试使用带有火花组件的talend。 对于tSparkConnection组件,我设置了相关的SparkHost,SparkHome。

对于分发,两个可用选项是Cloudera和Custom(不支持)。 选择“自定义(不支持)”分发时,可以选择自定义Hadoop版本以包含相关性库。 这里提供的选项包括:Cloudera,HortonWorks,MapR,Apache,Amazon EMR,PivotalHD。然而对我来说,当我选择Cloudera时,它附带了Hadoop 2.3并且我假设所有必需的库都缺失了,因此我得到一个“NoClassDefFoundError”,这导致无法通过Spark连接在Spark中加载文件。顺便说一句,我的火花版本是1.0.0

我想知道如何解决这个问题以及如何使用Hadoop 2.4运行此版本的Spark。

错误将复制并粘贴到下方:

[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]

谢谢!

1 个答案:

答案 0 :(得分:0)

是CDH 5.0.0包含Hadoop 2.3。 Hadoop 2.4.0在路线图上,听起来像CDH 5.x可用。

最佳。