Lançamento Spark em primeiro plano via supervisor

2

Temos um cluster de centelha que é lançado via supervisor. Trechos:

/etc/supervisor/conf.d/spark_master.conf:
command=./sbin/start-master.sh
directory=/opt/spark-1.4.1

/etc/supervisor/conf.d/spark_worker.conf:
command=./sbin/start-slave.sh spark://spark-master:7077
directory=/opt/spark-1.4.1

O desafio para o supervisor é que esses scripts iniciam um processo daemon e desanexam, onde o supervisor espera que as coisas sejam executadas em primeiro plano sem um fork. Até agora, os meus esforços para convencer o supervisor de que a bifurcação está bem ou para convencer a centelha a não chegar ao fim não deu em nada. Alguém encontra um caminho melhor? Obrigado!

    
por dannyman 14.08.2015 / 01:18

2 respostas

4

Solução Inferi de uma versão anterior da documentação :

/etc/supervisor/conf.d/spark_master.conf:
command=/opt/spark-1.4.1/bin/spark-class org.apache.spark.deploy.master.Master
directory=/opt/spark-1.4.1

/etc/supervisor/conf.d/spark_worker.conf:
command=/opt/spark-1.4.1/bin/spark-class org.apache.spark.deploy.worker.Worker spark://spark-master:7077
directory=/opt/spark-1.4.1

O lançamento por meio do comando bin/spark-class permanece em primeiro plano e tem a satisfação adicional de não perpetuar a terminologia "escrava".

    
por 14.08.2015 / 01:33
2

A partir do Spark 2.1 (e este commit ), é possível definir a variável de ambiente SPARK_NO_DAEMONIZE e ter supervisor invocar os scripts de início fornecidos $SPARK_HOME/sbin/start-master.sh e $SPARK_HOME/sbin/start-slave.sh diretamente.

Isso está documentado em $SPARK_HOME/conf/spark-env.sh.template e $SPARK_HOME/sbin/spark-daemon.sh

    
por 09.01.2017 / 14:52