【问题标题】:running spark on yarn as client作为客户端在纱线上运行火花
【发布时间】:2017-05-17 19:20:00
【问题描述】:

我正在尝试使用纱线运行火花作业:

./bin/spark-submit --class "KafkaToMaprfs" --master yarn --deploy-mode client /home/mapr/kafkaToMaprfs/target/scala-2.10/KafkaToMaprfs.jar

但是面对这个错误:

/opt/mapr/hadoop/hadoop-2.7.0 17/01/03 11:19:26 WARN NativeCodeLoader: 无法为您的平台加载 native-hadoop 库...使用 适用的内置 java 类 17/01/03 11:19:38 错误 SparkContext:初始化 SparkContext 时出错。 org.apache.spark.SparkException: Yarn 应用程序已经结束! 它可能已被杀死或无法启动应用程序主控。 在 org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApplication(YarnClientSchedulerBackend.scala:124) 在 org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:64) 在 org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:144) 在 org.apache.spark.SparkContext.(SparkContext.scala:530) 在 KafkaToMaprfs$.main(KafkaToMaprfs.scala:61) 在 KafkaToMaprfs.main(KafkaToMaprfs.scala) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:752) 在 org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 在 org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 在 org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 17/01/03 11:19:39 WARN MetricsSystem: 停止一个 MetricsSystem 是 未在线程“主”中运行异常 org.apache.spark.SparkException: Yarn 应用程序已经结束! 它可能已被杀死或无法启动应用程序主控。 在 org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApplication(YarnClientSchedulerBackend.scala:124) 在 org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:64) 在 org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:144) 在 org.apache.spark.SparkContext.(SparkContext.scala:530) 在 KafkaToMaprfs$.main(KafkaToMaprfs.scala:61) 在 KafkaToMaprfs.main(KafkaToMaprfs.scala) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:752) 在 org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181) 在 org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206) 在 org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121) 在 org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

我有一个多节点集群,我正在从远程节点部署应用程序。 我使用的是 spark 1.6.1 和 hadoop 2.7.x 版本。

我没有设置集群,所以找不到错误所在。

谁能帮我解决这个问题?

【问题讨论】:

    标签: apache-spark hadoop-yarn


    【解决方案1】:

    就我而言,我使用的是 MapR 发行版。而且我没有配置环境。 所以,当我深入到所有的 conf 文件夹时,我在下面的文件中做了一些更改,

    1.在 Spark-env.sh 中,确保这些值设置正确。

    export SPARK_LOG_DIR=
    export SPARK_PID_DIR=
    export HADOOP_HOME=
    export HADOOP_CONF_DIR=
    export JAVA_HOME=
    export SPARK_SUBMIT_OPTIONS=
    

    2。 yarn-env.sh.

    确保 yarn_conf_dir 和 java_home 的值设置正确。

    3.在 spark-defaults.conf 中

     1.spark.driver.extraClassPath
     2.set value for HADOOP_CONF_DIR
    

    4. $SPARK_HOME/conf/spark-env.sh 中的 HADOOP_CONF_DIR 和 JAVA_HOME

    1.export HADOOP_CONF_DIR=/opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop
    2.export JAVA_HOME =
    

    5.spark 组装罐

    1.将以下 JAR 文件从本地文件系统复制到 MapR-FS 上全球可读的位置:替换您的 Spark 版本并 命令中的特定 JAR 文件名。 /opt/mapr/spark/spark-/lib/spark-assembly--hadoop-mapr-.jar

    现在我可以使用 spark-submit 顺利地将我的 spark 应用程序作为 YARN-CLIENT 运行。 这些是使火花与纱线连接的基本要素。 如果我错过了任何其他事情,请纠正我。

    【讨论】:

      猜你喜欢
      • 2017-01-26
      • 2017-12-25
      • 2016-10-05
      • 2017-08-27
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多