2011-10-19 13 views
12

Soy nuevo en hadoop, así que tengo algunas dudas. Si el nodo maestro falla, ¿qué pasó con el clúster hadoop? ¿Podemos recuperar ese nodo sin ninguna pérdida? ¿Es posible mantener un nodo maestro secundario para cambiar automáticamente al maestro cuando falla el actual?Hadoop Datanode, namenode, secondary-namenode, job-tracker y task-tracker

Tenemos la copia de seguridad del namenode (Namenode secundario), por lo que podemos restaurar el namenode del namenode secundario cuando falla. De esta manera, ¿cómo podemos restaurar los datos en datanode cuando el nodo de datos falla? El namenode secundario es la copia de seguridad de namenode solo para no tener fecha, ¿verdad? Si un nodo falla antes de finalizar un trabajo, entonces hay un trabajo pendiente en el rastreador de trabajos, ¿ese trabajo continúa o se reinicia desde el primero en el nodo libre?

¿Cómo podemos restaurar toda la información del clúster si ocurre algo?

Y mi última pregunta, ¿podemos usar el programa C en Mapreduce (por ejemplo, Bubble sort en mapreduce)?

Gracias de antemano

Respuesta

14

Actualmente clúster hadoop tiene un único punto de fallo que es NameNode.

Y sobre el isssue nodo secundario (de apache wiki):

El término "secundaria nombre-nodo" es algo engañoso. No es un nombre-nodo en el sentido de que los nodos de datos no se pueden conectar al nombre-nodo secundario , y en ningún caso puede reemplazar el nombre-nodo primario en el caso de su falla.

El único propósito del nodo de nombre secundario es realizar puntos de control periódicos. El nodo de nombre secundario descarga periódicamente la imagen del nodo de nombre actual y edita los archivos de registro, los une a una nueva imagen y carga la nueva imagen al nodo de nombre (primario y único). Ver la Guía del usuario.

Así que si el nodo-nombre falla y puede reiniciarlo en el mismo nodo físico , entonces no hay necesidad de cerrar los nodos de datos, solo debe reiniciarse el nodo de nombre . Si ya no puede usar el nodo anterior, necesitará copiar la última imagen en otro lugar. La última imagen puede ser que se encuentra en el nodo que solía ser el principal antes de la falla si está disponible; o en el segundo nombre-nodo. Este último será el último punto de control sin subsiguientes registros de edición, es decir, la mayoría de las modificaciones de espacio de nombre pueden faltar allí. También necesitará para reiniciar todo el clúster en este caso.

Existen formas complicadas de superar este punto único de falla. Si está utilizando la distribución de cloudera, una de las formas explicadas es here. La distribución Mapr tiene un different way para manejar a este spof.

Finalmente, puede usar cada idioma de programación para escribir map reducir over hadoop streaming.

+5

Mucha gente está llamando al namenode secundario el "nodo de punto de control" ahora, lo cual es algo bueno. –

+0

Cualquier lenguaje de programación que pueda leer/escribir en STDIN/STDOUT se puede usar con Hadoop Streaming. Hay un par de [marcos] (http://goo.gl/aaVYN) que hacen que Hadoop Streaming sea más fácil. –

21

Aunque, es demasiado tarde para responder a su pregunta, pero solo puede ayudar a otros ..

En primer lugar Deja que te presente con secundaria nodo Nombre:

Contiene la imagen de espacio de nombre, editar archivos de log para pasado una hora (configurable). Y su trabajo es fusionar el último Nodo de nombre NameSpaceImage y editar los archivos de registro para cargar de nuevo al Nodo de nombre como el reemplazo del antiguo. Tener un NN secundario en un clúster no es obligatorio.

Ahora que se acerca a sus inquietudes ..

  • Si el maestro-nodo falla lo que pasó el cluster Hadoop?

Apoyando la respuesta de Frágil, Sí hadoop tiene un solo punto de falla así conjunto de su tarea actualmente en ejecución, como Map-Reduce o cualquier otra que está utilizando el nodo maestro no se detendrá. Todo el clúster incluido el cliente dejará de funcionar.

  • ¿Podemos recuperar ese nodo sin ninguna pérdida?

Eso es hipotético, sin pérdida en la que es menos posible, ya que se pierde todos los datos (informes de bloque) que ha enviado a nodos de datos a Nombre nodo después de la última copia de seguridad adoptadas por nodo de nombre secundario. Por qué mencioné menos, porque si el nodo de nombre falla justo después de una ejecución de copia de seguridad exitosa por un nodo de nombre secundario, entonces está en estado seguro.

  • ¿Es posible mantener un maestro-nodo secundario para cambiar automáticamente al maestro cuando el actual falla?

Es staright posible por un administrador (Usuario). Y para cambiarlo automáticamente, debe escribir un código nativo fuera del clúster, Código para supervisar el clúster que cofigurará el nodo de nombre secundario inteligentemente y reiniciará el clúster con la nueva dirección de nodo de nombre.

  • Tenemos el respaldo de la NameNode (NameNode secundaria), por lo que puede restaurar la NameNode de NameNode secundaria cuando falla. De esta manera, ¿cómo podemos restaurar los datos en datanode cuando el nodo de datos falla?

Se trata de replication factor, tenemos 3 (por defecto como la mejor práctica, configurable) réplicas de cada bloque de archivos todos en diferentes nodos de datos. Entonces, en caso de falla por el momento, tenemos 2 nodos de datos de respaldo. El nodo Nombre posterior creará una réplica más de los datos que fallaron nodo de datos.

  • NameNode secundaria es la copia de seguridad de NameNode no sólo a datenode, ¿verdad?

derecho. Solo contiene todos los metadatos de los nodos de datos, como la dirección del nodo de datos , incluyendo el informe de bloque de cada nodo de datos.

  • Si un nodo falla antes de la finalización de un trabajo, por lo que está pendiente en el trabajo de seguimiento de trabajo, es que el trabajo continúe o reiniciar desde el principio en el nodo libre?

HDFS se forcely tratar de continuar con el trabajo. Pero de nuevo depende de factor de replicación, rack awareness y other configuration hecho por admin. Pero si sigue las mejores prácticas de Hadoop sobre HDFS, entonces no se producirá ningún error en . JobTracker obtendrá la dirección de nodo replicada en continnue.

  • ¿Cómo podemos restaurar todos los datos de racimo si ocurre algo?

mediante el reinicio de la misma.

  • Y mi última pregunta, ¿podemos programa de C en MapReduce uso (por ejemplo, una especie de burbuja en mapreduce)?

sí, se puede utilizar cualquier lenguaje de programación que soportan archivo operaciones de lectura y escritura estándar.

I Just dio a try. Espero que te ayude tanto como a otros.

* Sugerencias/Mejoras son bienvenidas. *

+2

Explicación muy agradable y clara. Parece que eres un Arquitecto Hadoop y estás trabajando en hadoop desde hace mucho tiempo. –

+0

Gracias @PramodKumar, solo lo estoy aprendiendo. :) – manurajhada

0

Aunque, es demasiado tarde para responder a su pregunta, pero solo puede ayudar a los demás ... en primer lugar, analizaremos el papel de Hadoop 1.demonios X y luego sus problemas ..

1. ¿Cuál es el papel de nodo de nombres secundario no es exactamente un nodo de copia de seguridad. lee un registro de edición y crea un archivo de imagen fs actualizado para el nodo de nombre periódicamente. Obtiene metadatos del nodo de nombre periódicamente y lo conserva y utiliza cuando el nodo de nombre falla. 2. cuál es la función del nodo de nombre es el administrador de todos los daemons. su master jvm procede que se ejecuta en el nodo maestro. interactúa con los nodos de datos.

3. ¿cuál es el papel de perseguidor de trabajo que acepta y distribuye el trabajo a la tarea rastreadores para el procesamiento en los nodos de datos. su llamado como mapa de procesos

4. ¿Cuál es el papel de los seguidores de tareas se ejecutará el programa previsto para el procesamiento de los datos existentes en el nodo de datos. ese proceso se llama como mapa.

limitaciones de 1.X hadoop

  1. punto único de fallo que es el nodo nombre para que podamos mantener hardware de alta calidad para el nodo de nombre. si el nodo nombre no todo va a ser

Soluciones inaccesibles solución a punto único de fallo es 2.X hadoop que proporciona una alta disponibilidad.

high availability with hadoop 2.X

ahora sus temas ....

¿Cómo podemos restaurar todos los datos de racimo si ocurre algo? si clúster falla podemos reiniciarlo ..

Si un nodo falla antes de la finalización de un trabajo, por lo que está pendiente en el trabajo de seguimiento de trabajo, es que el trabajo continúe o reiniciar desde el principio en el nodo libre? tenemos por defecto 3 réplicas de datos (me refiero a los bloques) para obtener una alta disponibilidad depende de administración que la cantidad de réplicas que ha puesto ... así que los seguidores de trabajo continuará con otra copia de los datos en otro nodo de datos

¿podemos usar el programa C en Mapreduce (por ejemplo, sortear burbujas en mapreduce)? básicamente mapreduce es un motor de ejecución que resolverá o procesará problemas de big data en (almacenamiento más procesamiento) maneras distribuidas. estamos haciendo el manejo de archivos y todas las demás operaciones básicas usando la programación mapreduce para que podamos usar cualquier idioma de donde podamos manejar archivos según los requisitos.

arquitectura Hadoop 1.X hadoop 1.x has 4 basic daemons

que acabo de dar una oportunidad. Espero que te ayude tanto como a otros.

Sugerencias/Mejoras son bienvenidas.

Cuestiones relacionadas