【问题标题】:spark-submit to cloudera cluster can not find any dependent jarsspark-submit to cloudera cluster找不到任何依赖的jar
【发布时间】:2014-08-25 23:07:13
【问题描述】:

我能够对我的 cloudera 集群进行 spark-submit。几分钟后工作就死了,但有例外抱怨找不到各种课程。这些是 spark 依赖路径中的类。我一直使用命令行 args --jars 一次添加一个罐子,纱线日志不断转储它找不到的下一个罐子。

什么设置允许 spark/yarn 作业找到所有依赖的 jar?

我已经将“spark.home”属性设置为正确的路径 - /opt/cloudera/parcels/CDH/lib/spark

【问题讨论】:

  • 澄清你在说什么类? Spark 课程还是您自己的课程?你是如何运行 spark-submit 的?
  • 这些是火花类。我正在使用 spark-submit 指定纱线集群作为主人。这似乎是一个集群配置问题。抱怨 classnotfound 的节点始终是节点 2,即使我将其从 spark 中退役。如果节点 2 不再是 spark 集群的一部分,为什么 yarn 会联系节点 2 进行 spark 作业?
  • 这里是部分 spark-submit 脚本 - #!/bin/bash export SPARK_HOME=/home/bruce/workspace1/spark-cloudera source $SPARK_HOME/conf/spark-env.sh /home/ bruce/workspace1/spark-cloudera/bin/spark-submit \ --class org.apache.spark.examples.SparkPi \ --deploy-mode cluster \ --master yarn \ --verbose \ /home/bruce/workspace1/ spark-cloudera/examples/target/scala-2.10/spark-examples-1.0.0-cdh5.1.0-hadoop2.3.0-cdh5.1.0.jar 10. 省略了太长的 --driver-class-path 行.
  • 这与节点 2 无关。完全删除节点 2 后,节点 1 显示相同的异常。不知何故,纱线应用程序大师看不到火花依赖类。有谁知道这种依赖是如何建立的?
  • 我通过将 assembly.jar 添加到 --jar 来作弊。现在我超越了类依赖项。然而,这显然不是正确的方法。我检查了这个 assembly.jar 是否也在 hdfs /user/spark/share/lib/spark-assembly.jar 中。但应用程序大师只是看不到它。有什么想法吗?

标签: apache-spark cloudera


【解决方案1】:

我找到了!

删除

.set("spark.driver.host", "驱动电脑ip地址")

来自您的驱动程序代码。

【讨论】:

    猜你喜欢
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    • 2019-10-28
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多