Cómo mantener la consistencia de los datos HDFS

La consistencia de los datos generalmente se refiere a si la relación lógica entre los datos relacionados es correcta y completa, y cómo HDFS garantiza la consistencia de los datos.

 hdfs realiza una copia de seguridad de los metadatos en el nodo de nombre y almacena los datos en el nodo de datos. De forma predeterminada, se realizan copias de seguridad de 3 copias. Entonces, ¿cómo aseguran los hdfs la consistencia de los datos?

1. El mecanismo namenode de hdfs

Solo hay un namenode en hdfs. Una vez que hay un problema con el namenode, no se puede encontrar la información del bloque de datos. La información de metadatos en el namenode almacenará en caché la información de metadatos en la memoria cuando esté funcionando. Namenode realiza una copia de seguridad de los datos en la memoria para mostrarlos en el disco. Siempre que haya datos para almacenar, la información de metadatos se agregará al archivo editLog. La memoria es en realidad una colección de estas dos partes. Entonces, ¿cuándo fusionarás editlog con fsimage? HDFS introduce el nodo secondnamenode. La función principal de este nodo es periódicamente o esperar hasta que el registro de edición alcance un cierto número (se puede establecer en hdfs_site.xml), copiará los archivos de registro y fsimage en el nombre de nodo al segundo nombre de nodo, y actualizará el nombre de nodo después de la fusión del segundo nombre de nodo En el archivo fsimage. Si se pierden los datos en el namenode, los datos en el secondnamenode se utilizarán como una copia de seguridad para garantizar que la información de metadatos no se perderá.

2. Mecanismo de latidos

El nombre y el nodo de datos confirman y actualizan la información de metadatos del nodo de datos a través del latido (se puede establecer en el archivo de configuración cada 3 segundos). Si el nodo de datos falla, el nombre de nodo cancelará la confianza del nodo de datos (entonces no habrá lectura ni escritura en el nodo de datos), y el nombre de nodo realizará una copia de seguridad de los datos en el nodo. La elección del nodo de respaldo de namenode se basa principalmente en la distancia topológica y la carga específica del nodo.

3. Modo seguro

HDFS entrará en modo seguro durante la inicialización y no se permite que namenode funcione en modo seguro. El nodo de nombre realizará una verificación de seguridad con el nodo de datos conectado. Solo cuando la proporción del bloque de datos seguro alcance el umbral establecido, saldrá del modo seguro.

4. Mecanismo de retroceso

Cuando se actualizan los hdfs o se escriben los datos, los datos relevantes se conservarán y se realizarán copias de seguridad. Si tiene éxito, la copia de seguridad se actualizará. Si falla, se utilizará la información de la copia de seguridad.

5. Control de seguridad

Para evitar errores de datos causados ​​por la transmisión de red, HDFS utiliza un mecanismo de suma de verificación. La copia de seguridad de datos y la lectura de datos entre cada nodo, la verificación pasa, la copia de seguridad de datos es exitosa, de lo contrario, la copia de seguridad falla y la copia de seguridad se reinicia

6. Papelera de reciclaje

Cuando el archivo de datos se elimina de hdfs, el archivo no desaparece, sino que se transfiere al directorio / trash. Si lo elimina por error, puede recuperar el archivo en este directorio y el tiempo de almacenamiento del archivo se puede configurar con fs.trash.interval. Después de este tiempo, el namenode elimina los metadatos del archivo y el archivo del datanode se eliminará.

 

Publicado 42 artículos originales · elogiado 4 · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/wangyhwyh753/article/details/105563348
Recomendado
Clasificación