2015-06-05 3 views
4

Я боюсь уже более 2 дней со следующей проблемой.Отправить Spark job on Stain cluster

Я написал основную «HelloWorld» сценарий в SCALA

object Hello extends App{ 
    println("WELCOME TO A FIRST TEST WITH SCALA COMPILED WITH SBT counting fr. 1:15 with sleep 1") 
    val data = 1 to 15 

    for(a <- data){ 
    println("Value of a: " + a) 
    Thread sleep 1000 
    } 

, что я затем компилируется с SBT для того, чтобы получить JAR скомпилирован версию.

Я передал все на кластере (это песочница Horthonworks, работающая на виртуальной машине Linux) с HDP 2.2.4.2.

Я на самом деле в состоянии выполнить задание с помощью следующей команды на кластере с помощью нити-клиент:

spark-submit --verbose --master yarn-client --class Hello SCALA/hello.jar

Однако при попытке представить ту же Helloworld работу на нити кластера с следующая команда

spark-submit --verbose --master yarn-cluster--class Hello SCALA/hello.jar

работа первого запуска правильно (выходы один ожидалось, и возвращает 0), а затем задание остановки со следующим:

15/06/05 15:52:09 INFO Client: Application report for application_1433491352951_0010 (state: FAILED) 

15/06/05 15:52:09 INFO Client: 
     client token: N/A 
     diagnostics: Application application_1433491352951_0010 failed 2 times due to AM Container for appattempt_1433491352951_0010_000002 exited with exitCode: 0 
For more detailed output, check application tracking page:http://sandbox.hortonworks.com:8088/proxy/application_1433491352951_0010/Then, click on links to logs of each attempt. 
Diagnostics: Failing this attempt. Failing the application. 
     ApplicationMaster host: N/A 
     ApplicationMaster RPC port: -1 
     queue: default 
     start time: 1433519471297 
     final status: FAILED 
     tracking URL: http://sandbox.hortonworks.com:8088/cluster/app/application_1433491352951_0010 
     user: root 
Error: application failed with exception 
org.apache.spark.SparkException: Application finished with failed status 
     at org.apache.spark.deploy.yarn.ClientBase$class.run(ClientBase.scala:522) 
     at org.apache.spark.deploy.yarn.Client.run(Client.scala:35) 
     at org.apache.spark.deploy.yarn.Client$.main(Client.scala:139) 
     at org.apache.spark.deploy.yarn.Client.main(Client.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) 
     at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:367) 
     at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:77) 
     at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 

Я тогда решил проверить журнал с помощью следующей командной строки:

yarn logs -applicationId application_1433491352951_00010 

и я получаю:

15/06/05 15:56:33 INFO impl.TimelineClientImpl: Timeline service address: http://sandbox.hortonworks.com:8188/ws/v1/timeline/ 
15/06/05 15:56:33 INFO client.RMProxy: Connecting to ResourceManager at sandbox.hortonworks.com/192.168.182.129:8050 
15/06/05 15:56:35 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library 
15/06/05 15:56:35 INFO compress.CodecPool: Got brand-new decompressor [.deflate] 


Container: container_e08_1433491352951_0010_01_000001 on sandbox.hortonworks.com_45454 
======================================================================================== 
LogType:stderr 
Log Upload Time:Fri Jun 05 15:52:10 +0000 2015 
LogLength:2050 
Log Contents: 
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/hadoop/yarn/local/usercache/root/filecache/28/spark-assembly-1.2.1.2.2.4.2-2-hadoop2.6.0.2.2.4.2-2.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/usr/hdp/2.2.4.2-2/hadoop/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/hadoop/yarn/local/usercache/root/filecache/29/hello.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 
15/06/05 15:51:18 INFO yarn.ApplicationMaster: Registered signal handlers for [TERM, HUP, INT] 
15/06/05 15:51:20 INFO yarn.ApplicationMaster: ApplicationAttemptId: appattempt_1433491352951_0010_000001 
15/06/05 15:51:21 INFO spark.SecurityManager: Changing view acls to: yarn,root 
15/06/05 15:51:21 INFO spark.SecurityManager: Changing modify acls to: yarn,root 
15/06/05 15:51:21 INFO spark.SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(yarn, root); users with modify permissions: Set(yarn, root) 
15/06/05 15:51:21 INFO yarn.ApplicationMaster: Starting the user JAR in a separate Thread 
15/06/05 15:51:21 INFO yarn.ApplicationMaster: Waiting for spark context initialization 
15/06/05 15:51:21 INFO yarn.ApplicationMaster: Waiting for spark context initialization ... 0 
15/06/05 15:51:31 INFO yarn.ApplicationMaster: Waiting for spark context initialization ... 1 
15/06/05 15:51:36 INFO yarn.ApplicationMaster: Final app status: SUCCEEDED, exitCode: 0 
15/06/05 15:51:41 ERROR yarn.ApplicationMaster: SparkContext did not initialize after waiting for 100000 ms. Please check earlier log output for errors. Failing the application. 
15/06/05 15:51:41 INFO yarn.ApplicationMaster: Unregistering ApplicationMaster with SUCCEEDED 
15/06/05 15:51:41 INFO yarn.ApplicationMaster: Deleting staging directory .sparkStaging/application_1433491352951_0010 

LogType:stdout 
Log Upload Time:Fri Jun 05 15:52:10 +0000 2015 
LogLength:300 
Log Contents: 
WELCOME TO A FIRST TEST WITH SCALA COMPILED WITH SBT counting fr. 1:15 with sleep 1 
Value of a: 1 
Value of a: 2 
Value of a: 3 
Value of a: 4 
Value of a: 5 
Value of a: 6 
Value of a: 7 
Value of a: 8 
Value of a: 9 
Value of a: 10 
Value of a: 11 
Value of a: 12 
Value of a: 13 
Value of a: 14 
Value of a: 15 



Container: container_e08_1433491352951_0010_02_000001 on sandbox.hortonworks.com_45454 
======================================================================================== 
LogType:stderr 
Log Upload Time:Fri Jun 05 15:52:10 +0000 2015 
LogLength:2050 
Log Contents: 
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/hadoop/yarn/local/usercache/root/filecache/28/spark-assembly-1.2.1.2.2.4.2-2-hadoop2.6.0.2.2.4.2-2.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/usr/hdp/2.2.4.2-2/hadoop/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/hadoop/yarn/local/usercache/root/filecache/29/hello.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 
15/06/05 15:51:45 INFO yarn.ApplicationMaster: Registered signal handlers for [TERM, HUP, INT] 
15/06/05 15:51:47 INFO yarn.ApplicationMaster: ApplicationAttemptId: appattempt_1433491352951_0010_000002 
15/06/05 15:51:48 INFO spark.SecurityManager: Changing view acls to: yarn,root 
15/06/05 15:51:48 INFO spark.SecurityManager: Changing modify acls to: yarn,root 
15/06/05 15:51:48 INFO spark.SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(yarn, root); users with modify permissions: Set(yarn, root) 
15/06/05 15:51:48 INFO yarn.ApplicationMaster: Starting the user JAR in a separate Thread 
15/06/05 15:51:48 INFO yarn.ApplicationMaster: Waiting for spark context initialization 
15/06/05 15:51:48 INFO yarn.ApplicationMaster: Waiting for spark context initialization ... 0 
15/06/05 15:51:58 INFO yarn.ApplicationMaster: Waiting for spark context initialization ... 1 
15/06/05 15:52:03 INFO yarn.ApplicationMaster: Final app status: SUCCEEDED, exitCode: 0 
15/06/05 15:52:08 ERROR yarn.ApplicationMaster: SparkContext did not initialize after waiting for 100000 ms. Please check earlier log output for errors. Failing the application. 
15/06/05 15:52:08 INFO yarn.ApplicationMaster: Unregistering ApplicationMaster with SUCCEEDED 
15/06/05 15:52:08 INFO yarn.ApplicationMaster: Deleting staging directory .sparkStaging/application_1433491352951_0010 

LogType:stdout 
Log Upload Time:Fri Jun 05 15:52:10 +0000 2015 
LogLength:300 
Log Contents: 
WELCOME TO A FIRST TEST WITH SCALA COMPILED WITH SBT counting fr. 1:15 with sleep 1 
Value of a: 1 
Value of a: 2 
Value of a: 3 
Value of a: 4 
Value of a: 5 
Value of a: 6 
Value of a: 7 
Value of a: 8 
Value of a: 9 
Value of a: 10 
Value of a: 11 
Value of a: 12 
Value of a: 13 
Value of a: 14 
Value of a: 15 

Потратив несколько часов, глядя на веб-сайте, он выглядит, как он может будь то определение среды, но я не получил от этого никакой помощи :(.

Я действительно хотел бы поблагодарить вас, если вы могли бы помочь в этой проблеме ...

Заранее спасибо за тратить время на чтение моего поста,

Sb

Спасибо за Ваш ответ Zouzias. Я взял проект HelloWorld, который вы предложили, перекомпилировали и повторите попытку. Теперь у меня другая проблема: когда я представить задачу с помощью следующей команды:

spark-submit --verbose --master yarn-cluster SCALA/hello.jar 

Я получаю следующие комментарии работает до бесконечности:

15/06/08 16:42:35 INFO Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS) 

Я не очень понимаю, так как это выглядит сервер не отвечает, пока программа должна запускаться в кластере Hadoop из песочницы.

+0

Я также сталкиваются с подобными проблемами. Вы нашли решение? Было бы очень полезно, если вы поделитесь им. –

+0

Подождите минуту .. так @Zouzias придумал полезный ответ, и теперь он ушел? –

ответ

6

Вы должны установить мастер приложения к «Нить-кластер», как так:

import org.apache.spark.SparkContext 
import org.apache.spark.SparkContext._ 
import org.apache.spark.SparkConf 

class Hello extends App { 
    val config = new SparkConf().setAppName("HelloWorld") 
    config.setMaster("yarn-cluster"); 
    val context = new SparkContext(config); 

    println("Application executed!") 
} 
13

В моем случае я использовал:

val config = new SparkConf() 
config.setMaster("local[*]") 

и представил работу с помощью:

spark-submit --master yarn-cluster .. 

Как только я удалил config.setMaster из моего кода, проблема была решена.

+0

Я только что сделал это. Развернутый кластером пряжи и забыл, что я установил его в локальный режим. Удалено локально, и все работает нормально. : | – absmiths

1

Я не вижу никакой инициализации искрового контекста в вашем коде. Итак, отправляя свою банку в качестве «искра-подчинение», вы просто настраиваете classpath. вы не используете искры. Однако, если вы хотите создать контекст и запустить его в режиме кластера, то не устанавливайте никаких мастеров в своем коде. это будет работать. напр: val config = new SparkConf().setAppName("HelloWorld") val context = new SparkContext(config); Затем отправить его с помощью spark-submit --verbose --master yarn-cluster--class Hello SCALA/hello.jar

Смежные вопросы