2016-08-03 13 views
1

Ich benutze Zeppelin, um einige Funken Job mit crontab zu laufen. jdk8, spark1.6.2, scala2.10 Aber in den letzten Tagen fand ich Zeppelins Funken-Interpreter fast jeden Tag einmal oder öfter abgeschaltet. Und hier ist das ProtokollZeppelin funken intterpreters wirft java.lang.StackOverflowError nach einer Weile

java.lang.StackOverflowError 
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4183) 
at scala.reflect.internal.Types$AsSeenFromMap.apply(Types.scala:4638) 
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4197) 
at scala.reflect.internal.Types$AsSeenFromMap.apply(Types.scala:4638) 
at scala.reflect.internal.Types$Type.asSeenFrom(Types.scala:754) 
at scala.reflect.internal.Types$Type.computeMemberType(Types.scala:788) 
at scala.reflect.internal.Symbols$MethodSymbol.typeAsMemberOf(Symbols.scala:2655) 
at scala.reflect.internal.Types$Type.memberType(Types.scala:779) 
at scala.reflect.internal.Types$class.defineUnderlyingOfSingleType(Types.scala:1534) 
at scala.reflect.internal.SymbolTable.defineUnderlyingOfSingleType(SymbolTable.scala:13) 
at scala.reflect.internal.Types$SingleType.underlying(Types.scala:1486) 
at scala.reflect.internal.Types$SingletonType.widen(Types.scala:1340) 
at scala.reflect.internal.Types$AsSeenFromMap.toPrefix$1(Types.scala:4541) 
at scala.reflect.internal.Types$AsSeenFromMap.apply(Types.scala:4556) 
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4183) 
at scala.reflect.internal.Types$AsSeenFromMap.apply(Types.scala:4638) 
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4197) 
at scala.reflect.internal.Types$AsSeenFromMap.apply(Types.scala:4638) 
at scala.reflect.internal.Types$Type.asSeenFrom(Types.scala:754) 
at scala.reflect.internal.Types$Type.computeMemberType(Types.scala:788) 
at scala.reflect.internal.Symbols$MethodSymbol.typeAsMemberOf(Symbols.scala:2655) 
at scala.reflect.internal.Types$Type.memberType(Types.scala:779) 
at scala.reflect.internal.Types$class.defineUnderlyingOfSingleType(Types.scala:1534) 
at scala.reflect.internal.SymbolTable.defineUnderlyingOfSingleType(SymbolTable.scala:13) 
at scala.reflect.internal.Types$SingleType.underlying(Types.scala:1486) 
at scala.reflect.internal.Types$SingletonType.widen(Types.scala:1340) 
at scala.reflect.internal.Types$AsSeenFromMap.toPrefix$1(Types.scala:4541) 
at scala.reflect.internal.Types$AsSeenFromMap.apply(Types.scala:4556) 
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4183) 
at scala.reflect.internal.Types$AsSeenFromMap.apply(Types.scala:4638) 
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4197) 
at scala.reflect.internal.Types$AsSeenFromMap.apply(Types.scala:4638) 
at scala.reflect.internal.Types$Type.asSeenFrom(Types.scala:754) 
at scala.reflect.internal.Types$Type.computeMemberType(Types.scala:788) 
at scala.reflect.internal.Symbols$MethodSymbol.typeAsMemberOf(Symbols.scala:2655) 
at scala.reflect.internal.Types$Type.memberType(Types.scala:779) 
at scala.reflect.internal.Types$class.defineUnderlyingOfSingleType(Types.scala:1534) 
at scala.reflect.internal.SymbolTable.defineUnderlyingOfSingleType(SymbolTable.scala:13) 
at scala.reflect.internal.Types$SingleType.underlying(Types.scala:1486) 
at scala.reflect.internal.Types$SingletonType.widen(Types.scala:1340) 
at scala.reflect.internal.Types$AsSeenFromMap.toPrefix$1(Types.scala:4541) 
at scala.reflect.internal.Types$AsSeenFromMap.apply(Types.scala:4556) 
at scala.reflect.internal.Types$TypeMap.mapOver(Types.scala:4183) 

........

Es war ein sehr, sehr lange log, scheint eine Schleife zu sein, ich mag dieses

export JAVA_HOME=/home/hadoop/jdk 
export MASTER=spark://namenode:7077 
export ZEPPELIN_PORT=10001 
export SPARK_HOME=/home/hadoop/spark-1.6.2-bin-hadoop2.6 
export SPARK_SUBMIT_OPTIONS="--driver-memory 2g --executor-memory 5g --driver-class-path /home/hadoop/spark-1.6.2-bin-hadoop2.6/extlib/oracle-driver.jar:/home/hadoop/spark-1.6.2-bin-hadoop2.6/extlib/phoenix-4.7.0-HBase-1.1-client-spark.jar:/home/hadoop/spark-1.6.2-bin-hadoop2.6/extlib/spark-csv_2.10-1.3.0.jar:/home/hadoop/zeppelin-0.6.0-bin-all/lib/*:/home/hadoop/zeppelin-0.6.0-bin-all/*::/home/hadoop/zeppelin-0.6.0-bin-all/conf:/home/hadoop/zeppelin-0.6.0-bin-all/interpreter/spark/*::/home/hadoop/zeppelin-0.6.0-bin-all/conf:/home/hadoop/zeppelin-0.6.0-bin-all/conf:/home/hadoop/zeppelin-0.6.0-bin-all/lib/zeppelin-interpreter-0.6.0.jar/home/hadoop/zeppelin-0.6.0-bin-all/interpreter/spark/zeppelin-spark-0.6.0.jar" 
export ZEPPELIN_MEM=-Xmx4096m 
export ZEPPELIN_JAVA_OPTS="-Xmx4096m" 
die env neu einstellen müssen,

Antwort

1

Ich habe den Grund gefunden.

Zuerst zeppelin Verwendung scala 2.10.4 und Funken 1.6.2 Verwendung 2.10.6 entfernen Sie die scala lib in zepplin_home/lib und legte die scala libariry 2.10.6

zweitens, starten Sie den Funken Interpreter irgendwann, Sonst wird die gesamte Aufgabe auf der einzigen Spark-Anwendung ausgeführt. Als Zeitablauf wird die Anwendung durch Speicherprobleme heruntergefahren. Fügen Sie einfach einen Cron-Noteboot hinzu und überprüfen Sie den "Auto-Neustart-Interpreter bei Cron-Ausführung" unter

Job wird den älteren Funkeninterpreter herunterfahren und einen neuen starten.

Verwandte Themen