spark hadoop apache-spark hdfs yarn

spark bin hadoop



Chispa en la comprensiĆ³n del concepto de hilo (3)

1 - Chispa si sigue la arquitectura esclava / maestra. Entonces, en su clúster, debe instalar un maestro de chispa y N esclavos de chispa. Puede ejecutar la chispa en un modo independiente. Pero usar la arquitectura de Yarn te dará algunos beneficios. Hay una muy buena explicación de esto aquí: http://blog.cloudera.com/blog/2014/05/apache-spark-resource-management-and-yarn-app-models/

2- Es necesario si desea utilizar Yarn o HDFS por ejemplo, pero como dije antes, puede ejecutarlo en modo independiente.

Estoy tratando de entender cómo se ejecuta la chispa en el clúster / cliente YARN. Tengo la siguiente pregunta en mi mente.

  1. ¿Es necesario que la chispa esté instalada en todos los nodos del grupo de hilos? Creo que debería hacerlo porque los nodos de trabajo en el clúster ejecutan una tarea y deberían poder decodificar el código (API de chispa) en la aplicación de chispa enviada al clúster por el controlador.

  2. Dice en la documentación "Asegúrese de que HADOOP_CONF_DIR o YARN_CONF_DIR apuntan al directorio que contiene los archivos de configuración (del lado del cliente) para el clúster de Hadoop". ¿Por qué el nodo cliente tiene que instalar Hadoop cuando está enviando el trabajo al clúster?


Agregando a otras respuestas ..

  1. ¿Es necesario que la chispa esté instalada en todos los nodos del grupo de hilos?

No , si el trabajo de chispa está programando en HILO (ya sea cluster modo client o cluster ). Se necesita instalación de chispa en muchos nodos solo para el modo independiente .

Estas son las visualizaciones de los modos de implementación de la aplicación de chispa.

Spark Standalone Cluster

En el modo de cluster , el controlador estará sentado en uno de los nodos de Spark Worker, mientras que en client modo de client estará dentro de la máquina que inició el trabajo .

Modo de clúster YARN

Modo de cliente YARN

Esta tabla ofrece una lista concisa de las diferencias entre estos modos:

fuente de fotos

  1. Dice en la documentación "Asegúrese de que HADOOP_CONF_DIR o YARN_CONF_DIR apuntan al directorio que contiene los archivos de configuración (del lado del cliente) para el clúster de Hadoop". ¿Por qué el nodo cliente tiene que instalar hadoop cuando está enviando el trabajo al clúster?

La instalación de Hadoop no es obligatoria, ¡pero las configuraciones son !. Estas podrían ser las dos razones principales.

  • La configuración contenida en el directorio HADOOP_CONF_DIR se distribuirá al clúster YARN para que todos los contenedores utilizados por la aplicación utilicen la misma configuración.
  • En modo YARN, la dirección del ResourceManager se toma de la configuración de Hadoop ( yarn-default.xml ). Por lo tanto, el parámetro --master es yarn .


Actualización: (2017-01-04)

Spark 2.0+ ya no requiere un contenedor de ensamblaje grueso para la implementación de producción. source


Estamos ejecutando trabajos de chispa en YARN (usamos HDP 2.2).

No tenemos chispa instalada en el clúster. Solo agregamos el jarro de ensamblaje Spark al HDFS.

Por ejemplo, para ejecutar el ejemplo Pi:

./bin/spark-submit / --verbose / --class org.apache.spark.examples.SparkPi / --master yarn-cluster / --conf spark.yarn.jar=hdfs://master:8020/spark/spark-assembly-1.3.1-hadoop2.6.0.jar / --num-executors 2 / --driver-memory 512m / --executor-memory 512m / --executor-cores 4 / hdfs://master:8020/spark/spark-examples-1.3.1-hadoop2.6.0.jar 100

--conf spark.yarn.jar=hdfs://master:8020/spark/spark-assembly-1.3.1-hadoop2.6.0.jar - Esta configuración indica al hilo de --conf spark.yarn.jar=hdfs://master:8020/spark/spark-assembly-1.3.1-hadoop2.6.0.jar tomará el montaje de la chispa. Si no lo usa, cargará el contenedor desde donde ejecutó spark-submit .

Acerca de su segunda pregunta: El nodo cliente no necesita Hadoop instalado. Solo necesita los archivos de configuración. Puede copiar el directorio de su clúster a su cliente.