为什么Kryo会在胖jar(CDH / YARN)中为类抛出ClassNotFoundException?

时间:2015-09-08 02:57:52

标签: apache-spark yarn cloudera-cdh kryo scala-2.11

我试图通过Yarn在CDH5.4群集上运行Spark 1.4.1作业。序列化设置为使用Kryo。

我有一个大对象,我作为广播发送给执行者。该对象似乎序列化很好。然而,当它试图反序列化时,Kryo会抛出ClassNotFoundException一个类,这个类位于我spark-submit的胖罐中。

在执行程序中,Kryo可能导致此类路径问题的原因是什么?我应该在哪里开始尝试诊断问题?感谢您提供的任何帮助。

更新:由于某种原因,我使用spark-submit提交的jar文件未添加到类路径中。我检查了节点管理器目录,它正在上传 - 它被重命名为__app__.jar,并通过符号链接放入容器工作目录中。包含spark程序集的文件__spark__.jar位于同一目录中,并且IS包含在类路径中。包含它的文件夹也包括在内。

当我在本地模式下运行时,我提交的jar被尽职尽责地包含在类路径的用户添加元素中。

是什么导致这种情况?

0 个答案:

没有答案