soportes de chispa tres implementación distribuida

Apache Spark actualmente soporta tres implementación distribuida, son independiente, chispa en mesos y chispa en el hilo, que es similar al primer modo de MapReduce 1.0 empleado, la aplicación interna de tolerancia a fallos y la gestión de recursos, los dos últimos es la tendencia futura, que forma parte de la gestión de la tolerancia a fallos y de los recursos entregados a un sistema de gestión unificada de recursos para completar: dejar que se ejecuta de chispa en un sistema de gestión de recursos comunes, para que pueda calcular con otros marcos, como MapReduce, unos recursos públicos clúster, máximo el beneficio es la reducción de los costes operativos y mejorar la utilización de recursos (asignación de recursos basada). En este artículo se introducirá tres despliegue, y comparar sus ventajas y desventajas. 

 

1. Modo independiente

Ese modo autónomo, viene con un servicio completo, se puede desplegar en un solo grupo, sin depender de otros sistemas de gestión de recursos. En cierta medida, este patrón es la base de los otros dos. Aprender modelo de desarrollo Spark, podemos obtener una idea general de un desarrollo de la novela marco computacional: primero en diseñar su modo independiente, con el fin de desarrollar rápidamente, en un principio que considerar servicio de tolerancia a fallos (como maestro / esclavo), seguido de la remodelación correspondientes envoltura, el modo de servicio bajo stanlone intacta desplegado para el hilo del sistema de gestión de recursos o mesos, por el sistema de gestión de recursos es responsable del servicio en sí tolerancia a fallos. Spark actualmente en el modo independiente, no hay ningún punto único de fallo, que se consigue por medio de zookeeper, idea es similar a hbase maestro de un solo punto de solución de fracaso. La comparación Spark independiente con MapReduce, usted los encontrará en las dos arquitecturas son exactamente los mismos: 

1) es un servicio de maestro / esclavos mismo, y al primer maestro tanto punto único de fallo, y más tarde se resolvieron por zookeeper (Apache MRv1 de JobTracker todavía sigue siendo un problema único punto, pero la versión CDH se han resuelto); 
2) cada nodo los recursos se resumieron en la ranura de grano grueso, cuántos cuántos tarea ranura se puede ejecutar de forma simultánea. La diferencia es, ranura mapa MapReduce en la ranura y reducir ranura, que están disponibles sólo para reducir mapa de tareas de tareas y uso, y no puede ser compartida, que es una de las razones tasas de interés MapReduce ineficiente de los recursos, mientras que algunos de la chispa es más optimizado, no distingue entre tipos de ranura, sólo una ranura, se puede utilizar para diferentes tipos de uso de tareas, este enfoque puede mejorar la utilización de los recursos, pero no lo suficientemente flexible como para personalizar los recursos para los diferentes tipos de ranura de tareas. En resumen, estos dos métodos tienen ventajas y desventajas. 
 

2. Spark modo On mesos

Este es el modelo adoptado muchas empresas, el funcionario recomendó este modelo (por supuesto, es una de las razones de parentesco). Es a causa de la chispa fue desarrollado con la consideración para apoyar mesos, por lo tanto, por ahora, la chispa se ejecutará es más flexible que se ejecuta en el hilo en los mesos, más natural. Actualmente en chispa en el entorno de mesos, el usuario puede seleccionar uno de dos modos programados para ejecutar sus propias aplicaciones (se refieren a Andrew Xia "Modo de Programación mesos en Spark"): 

1) modelo de grano grueso (Modo de grano grueso): cada uno del entorno de ejecución de aplicación y por una pluralidad de composición Ejecutor Dirver, en el que cada uno de la pluralidad de recursos de ejecutor ocupados, puede ejecutar varias tareas interno (número de corresponde "ranura" ). Antes de la solicitud formal de cada misión para funcionar, necesita ejecutar todos los recursos de la aplicación en el ambiente es bueno, y durante la operación de haber sido ocupada por estos recursos, incluso si no, después del final de la última ejecución del programa, la recuperación de estos recursos. Por ejemplo, como cuando se envía una solicitud, especifica cinco ejecutor ejecutar la aplicación, cada ejecutor ocupa 5 GB de memoria y CPU de cinco, cada conjunto ejecutor interna de hasta cinco ranura, es necesario asignar mesos ejecutor recursos y lanzarlos, después del inicio de las tareas programadas. Además, el programa se está ejecutando, mesos maestro y el esclavo no conoce el funcionamiento interno de cada ejecutor de tareas, ejecutor informó directamente al estado de la tarea del conductor a través del mecanismo de comunicación interna, y en cierta medida se puede considerar para cada aplicación que utilice mesos crear un clúster propio uso virtual. 

2) el patrón de grano fino (Modo de grano fino): En vista del modelo de grano grueso hará que una gran cantidad de desperdicio de recursos, de chispa en mesos también proporciona otro modo de programación: Modelo de grano fino que es similar a la nube actual de cálculo, es el pensamiento DAMA. Y los patrones de grano grueso, cuando se inicia la aplicación, se iniciará el ejecutor antes, pero cada huella ejecutor solamente es necesario para ejecutar sus propios recursos, sin tener en cuenta la tarea a ejecutar en el futuro, entonces, mesos asignan dinámicamente para cada ejecutor la asignación de recursos para cada número, puede ejecutar una nueva tarea, después de la finalización de una sola ejecución de la tarea puede liberar los recursos correspondientes de inmediato. Cada Tarea reportará a mesos estado auxiliar y mesos Maestro, de grano más fino para facilitar la gestión y tolerancia a fallos, este modo de programación es el modo de MapReduce similares programación, cada tarea, el control completamente independiente de los recursos y la ventaja de facilitar el aislamiento, pero la desventaja es también evidente corto retardo grandes carreras de trabajo.

 

3. En el modo de chispa HILO

Se trata de un modelo de implementación prometedor. De hilados, pero limitado a su propio desarrollo, el modelo sólo es compatible con grano grueso (Modo de grano grueso). Esto es debido a los recursos de contenedores en el hilo no es dinámicamente escalable, de contenedores una vez iniciado, pueden ser usados ​​los recursos pueden cambiar ya no, pero esto ha sido en el plan de hilo. 

chispa sobre soportes de hilo dos modos: 
1) el hilo-racimo: adecuados para un entorno de producción; 
2) El hilo-Client: propicio interactivo, depuración, ahora quiere ver la salida de la aplicación 

Diferencia de hilo y el hilo cúmulo-cliente que appMaster hilo, cada instancia de aplicación hilo tiene un proceso appMaster, es una aplicación de contenedor para el primer inicio, después responsable de solicitar recursos de ResourceManager, para obtener recursos, dicho NodeManager su contenedor de lanzamiento . hilo-cluster modelo de hilo en el cliente para lograr interno y tener una gran diferencia. Si necesita un entorno de producción, por favor seleccione hilo racimo; y si sólo programa de depuración, se puede elegir hilo-cliente.

 

resumen: 

Estos tres métodos tienen sus ventajas y desventajas implementación distribuida, por lo general tiene que decidir qué programa utiliza la situación real. Al seleccionar programas, a menudo tienen que considerar hoja de ruta tecnológica de la empresa (utilizando Hadoop ecosistema o de otros ecosistemas), y otra piscina de talento técnico relacionado. Chispa arriba para involucrar a muchos modelo de implementación, lo bueno es difícil decir cuál es el modelo de esto, se necesita de acuerdo a sus necesidades, si sólo prueba de chispa de aplicaciones, puede seleccionar el modo local. Y si usted no es una gran cantidad de datos de volumen, independiente es una opción buena. Cuando necesite la gestión unificada de los recursos de clúster (Hadoop, chispa, etc.), entonces puede optar por hilo o mesos, pero esto se convertirá en altos costos de mantenimiento. 
· Desde el punto de vista contrario, mesos chispa parece ser la mejor opción, y se recomendó oficialmente 
· Pero si ejecuta hadoop y Spark Mientras tanto, desde el punto de vista de la compatibilidad, Hilo es una mejor opción. Si sólo se ejecuta hadoop, chispa. Acoplable siendo ejecutado en la gestión de recursos, Mesos más común. 

· Independiente para los clústeres de computación a pequeña escala es más adecuado!

Publicado ocho artículos originales · ganado elogios 2 · Vistas 215

Supongo que te gusta

Origin blog.csdn.net/qq_37492314/article/details/103390437
Recomendado
Clasificación