[HADOOP] Spark Shell with Yarn - 오류 : 원사 응용 프로그램이 이미 종료되었습니다! 응용 프로그램 마스터를 종료 할 수 없거나 실행하지 못했을 수 있습니다.
HADOOPSpark Shell with Yarn - 오류 : 원사 응용 프로그램이 이미 종료되었습니다! 응용 프로그램 마스터를 종료 할 수 없거나 실행하지 못했을 수 있습니다.
이 질문의 후속 작업으로, 단일 노드 컴퓨터에서 Spark 2.1.1 (Hadoop 2.8.0)을 사용하려고하면 새로운 오류가 발생합니다. 스파크 셸을
spark-shell
문제없이 시작됩니다. 일반적인 start-dfs.sh와 start-yarn.sh로 Hadoop을 시작한 후,
spark-shell --master yarn
다음 오류가 발생합니다.
17/06/10 12:00:07 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/06/10 12:00:12 ERROR SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: Yarn application has already ended! It might have been killed or unable to launch application master.
at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApplication(YarnClientSchedulerBackend.scala:85)
at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:62)
at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:156)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:509)
at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2320)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:868)
at org.apache.spark.sql.SparkSession$Builder$$anonfun$6.apply(SparkSession.scala:860)
at scala.Option.getOrElse(Option.scala:121)
at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:860)
at org.apache.spark.repl.Main$.createSparkSession(Main.scala:96)
at $line3.$read$$iw$$iw.<init>(<console>:15)
at $line3.$read$$iw.<init>(<console>:42)
at $line3.$read.<init>(<console>:44)
at $line3.$read$.<init>(<console>:48)
at $line3.$read$.<clinit>(<console>)
at $line3.$eval$.$print$lzycompute(<console>:7)
at $line3.$eval$.$print(<console>:6)
at $line3.$eval.$print(<console>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:786)
at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:1047)
at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:638)
at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:637)
at scala.reflect.internal.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:31)
at scala.reflect.internal.util.AbstractFileClassLoader.asContext(AbstractFileClassLoader.scala:19)
at scala.tools.nsc.interpreter.IMain$WrappedRequest.loadAndRunReq(IMain.scala:637)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:569)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:565)
at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:807)
at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:681)
at scala.tools.nsc.interpreter.ILoop.processLine(ILoop.scala:395)
at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply$mcV$sp(SparkILoop.scala:38)
at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37)
at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37)
at scala.tools.nsc.interpreter.IMain.beQuietDuring(IMain.scala:214)
at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:37)
at org.apache.spark.repl.SparkILoop.loadFiles(SparkILoop.scala:105)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:920)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909)
at scala.reflect.internal.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:97)
at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:909)
at org.apache.spark.repl.Main$.doMain(Main.scala:69)
at org.apache.spark.repl.Main$.main(Main.scala:52)
at org.apache.spark.repl.Main.main(Main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:743)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
17/06/10 12:00:12 WARN YarnSchedulerBackend$YarnSchedulerEndpoint: Attempted to request executors before the AM has registered!
17/06/10 12:00:12 WARN MetricsSystem: Stopping a MetricsSystem that is not running
나는 Spark / Yarn에 익숙하지 않아서 해결책을 찾을 곳이 정말로 없다. 나는 (Java 8을 사용하고 있기 때문에 비슷한 문제가있는 것처럼 보이지만) 여기에 제안 된 것을 시도했지만 아무런 효과가 없었다. Java 7 (JAVA_HOME 변수를 JDK 7 설치 폴더로 설정)을 사용해 보았지만 동일한 오류가 발생했습니다. 아이디어 있니?
해결법
-
==============================
1.나는 Liming Cen이 대답 한 것과 비슷한 방법을 사용하여이 문제를 해결할 수 있었다.
나는 Liming Cen이 대답 한 것과 비슷한 방법을 사용하여이 문제를 해결할 수 있었다.
유일한 차이점은 zip 파일로 압축 된 $ SPARK_HOME / libexec / jars에 들어있는 모든 JAR 파일을 HDFS에 추가했기 때문입니다.
$ SPARK_HOME / libexec / conf / spark-defaults.conf에 다음 줄을 추가했습니다 :
spark.yarn.archive = hdfs : ///user/MY_USERNAME/spark-archive.zip
-
==============================
2.모든 YARN 노드에 대해 Java 1.8이 제대로 설치 / 구성되어 있지 않을 가능성이 있습니다 ... Cloudera를 사용하는 경우 "Java Home Directory"속성이 모든 호스트에 대해 올바르게 구성되어 있는지 확인해야합니다 특정 호스트의 "구성"탭. (예 : /usr/lib/jvm/jdk1.8.0_144)
모든 YARN 노드에 대해 Java 1.8이 제대로 설치 / 구성되어 있지 않을 가능성이 있습니다 ... Cloudera를 사용하는 경우 "Java Home Directory"속성이 모든 호스트에 대해 올바르게 구성되어 있는지 확인해야합니다 특정 호스트의 "구성"탭. (예 : /usr/lib/jvm/jdk1.8.0_144)
-
==============================
3.반드시 --master-yarn을 사용하여 원사에 스파크 셸을 실행할 수 있습니다. 그러나 spark-shell을 실행하려면 spark shell의 경우 드라이버가 클라이언트에서 실행되기 때문에 'deploy-mode client'를 사용해야합니다. 어떤 오류가 발생하면 이것을 시도하고 게시하십시오.
반드시 --master-yarn을 사용하여 원사에 스파크 셸을 실행할 수 있습니다. 그러나 spark-shell을 실행하려면 spark shell의 경우 드라이버가 클라이언트에서 실행되기 때문에 'deploy-mode client'를 사용해야합니다. 어떤 오류가 발생하면 이것을 시도하고 게시하십시오.
./bin/spark-shell --master yarn --deploy-mode client
from https://stackoverflow.com/questions/44472042/spark-shell-with-yarn-error-yarn-application-has-already-ended-it-might-have by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 코끼리 - 새를 하이브와 함께 사용하여 프로토프 데이터 읽기 (0) | 2019.06.30 |
---|---|
[HADOOP] 파이썬에서 캐럿 A를 구분 (0) | 2019.06.30 |
[HADOOP] hbase를 사용하여 이미지, 비디오 및 오디오 유형 처리 (0) | 2019.06.30 |
[HADOOP] API를 통해 Hadoop 카운터 값에 액세스하는 방법은 무엇입니까? (0) | 2019.06.30 |
[HADOOP] 쉘 스크립트를 사용하여 hadoop에서 마지막 5 분 동안 생성 된 파일 얻기 (0) | 2019.06.30 |