我正在尝试使用纱线运行火花作业:
./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) 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) 在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 没有在线程“main”中运行异常 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) 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) 在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版本。
我没有设置群集,所以我找不到错误所在。
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
在我的情况下,我正在使用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 assembly jar
1.将以下JAR文件从本地文件系统复制到MapR-FS上的世界可读位置:替换您的Spark版本和 命令中的特定JAR文件名。 /opt/mapr/spark/spark-/lib/spark-assembly--hadoop-mapr-.jar
现在我可以使用spark-submit顺利运行我的spark应用程序作为YARN-CLIENT。 这些是使火花与纱线连接的基本要素。 如果我错过任何其他事情,请纠正我。