zeppelin software apache-spark pyspark apache-spark-sql apache-zeppelin

apache-spark - software - zeppelin apache download



¿Por qué se cierra aleatoriamente SparkContext y cómo se reinicia desde Zeppelin? (4)

Estoy trabajando en Zeppelin escribiendo consultas spark-sql y, a veces, de repente empiezo a tener este error (después de no cambiar el código):

Cannot call methods on a stopped SparkContext.

Entonces la salida dice más abajo:

The currently active SparkContext was created at: (No active SparkContext.)

Esto obviamente no tiene sentido. ¿Es esto un error en Zeppelin? ¿O estoy haciendo algo mal? ¿Cómo puedo reiniciar SparkContext?

Gracias


¿Podría comprobar que la memoria del controlador es suficiente o no? He resuelto este problema por

  1. agrandar la memoria del conductor
  2. sintonizar GC:

    --conf spark.cleaner.periodicGC.interval=60 --conf spark.cleaner.referenceTracking.blocking=false


Estoy enfrentando el mismo problema al ejecutar múltiples trabajos en PySpark . Parece que en Spark 2.0.0, con SparkSession, cuando llamo a spark.stop() SparkSession llama al siguiente rastro:

# SparkSession self._sc.stop() # SparkContext.stop() self._jsc = None

Luego, cuando intento crear un nuevo trabajo con un nuevo SparkContext, SparkSession devuelve el mismo SparkContext que antes con self.jsc = None .

Lo resolví estableciendo SparkSession._instantiatedContext = None después de que spark.stop() forzó a SparkSession a crear un nuevo SparkContext la próxima vez que exijo.

No es la mejor opción, pero mientras tanto resuelve mi problema.


He enfrentado este problema un par de veces.

Si está configurando su maestro como hilo-cliente, puede deberse a la detención / reinicio de Resource Manager, el proceso del intérprete puede seguir ejecutándose, pero el Spark Context (que es una aplicación Yarn) ya no existe.

Puede verificar si Spark Context aún se está ejecutando al consultar la interfaz web del administrador de recursos y verificar si hay una aplicación llamada Zeppelin en ejecución.

A veces, reiniciar el proceso del intérprete desde dentro de Zeppelin (pestaña de intérprete -> chispa -> reiniciar) resolverá el problema.

Otras veces necesitas:

  • matar el proceso de intérprete Spark desde la línea de comando
  • eliminar el archivo PID de Spark Interpreter
  • y la próxima vez que inicie un párrafo, comenzará un nuevo contexto de chispa

Me he dado cuenta más de este problema al ejecutar comandos pyspark incluso con declaraciones de variables triviales que pyspark que la ejecución de una celda se bloquea en estado de ejecución. Como mencioné anteriormente por user1314742, solo matar el PID relevante resuelve este problema para mí.

p.ej:

ps -ef | grep zeppelin

Aquí es donde reiniciar el intérprete Spark y reiniciar el portátil zeppelin no resuelve el problema. Supongo que porque no puede controlar el PID colgado en sí.