当前位置:  开发笔记 > 编程语言 > 正文

如何让依赖的jar在集群模式下激发提交

如何解决《如何让依赖的jar在集群模式下激发提交》经验,为你挑选了1个好方法。

我使用集群模式运行spark进行部署.以下是命令

JARS=$JARS_HOME/amqp-client-3.5.3.jar,$JARS_HOME/nscala-time_2.10-2.0.0.jar,\
$JARS_HOME/rabbitmq-0.1.0-RELEASE.jar,\
$JARS_HOME/kafka_2.10-0.8.2.1.jar,$JARS_HOME/kafka-clients-0.8.2.1.jar,\
$JARS_HOME/spark-streaming-kafka_2.10-1.4.1.jar,\
$JARS_HOME/zkclient-0.3.jar,$JARS_HOME/protobuf-java-2.4.0a.jar

dse spark-submit -v --conf "spark.serializer=org.apache.spark.serializer.KryoSerializer" \
 --executor-memory 512M \
 --total-executor-cores 3 \
 --deploy-mode "cluster" \
 --master spark://$MASTER:7077 \
 --jars=$JARS \
 --supervise \
 --class "com.testclass" $APP_JAR  input.json \
 --files "/home/test/input.json"

上述命令在客户端模式下正常工作.但是当我在集群模式下使用它时,我发现了类未找到异常

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.spark.deploy.worker.DriverWrapper$.main(DriverWrapper.scala:58)
    at org.apache.spark.deploy.worker.DriverWrapper.main(DriverWrapper.scala)
Caused by: java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka/KafkaUtils$

在客户端模式下,依赖jar将被复制到/ var/lib/spark/work目录,而在集群模式下则不会.请帮助我解决这个问题.

编辑:

我正在使用nfs,并且我已经在同名的所有spark节点上安装了相同的目录.我仍然得到错误.如何能够选择同一目录下但不依赖于依赖的jar的应用程序jar?



1> Shawn Guo..:

在客户端模式下,依赖jar将被复制到/ var/lib/spark/work目录,而在集群模式下则不会.

在群集模式下,驱动程序pragram在群集中运行而不是在本地(与客户端模式相比),并且相关的jar应该可以在群集中访问,否则驱动程序和执行程序将抛出"java.lang.NoClassDefFoundError"异常.

实际上当使用spark-submit时,应用程序jar以及--jars选项中包含的任何jar都将自动传输到集群.

您的额外罐子可以添加到--jars,它们将自动复制到群集.

请参阅以下链接中的"高级依赖管理"部分:http:
//spark.apache.org/docs/latest/submitting-applications.html

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有