ecosistema data big hadoop replication

hadoop - data - hdfs



¿Cómo rastrear qué bloque de datos está en qué nodo de datos en hadoop? (2)

Si se replica un bloque de datos, ¿en qué nodo de datos se replicará? ¿Hay alguna herramienta para mostrar dónde están presentes los bloques replicados?


Hay una buena herramienta que fue abierta por el CERN - ver el artículo del blog https://db-blog.web.cern.ch/blog/daniel-lanza-garcia/2016-04-tool-visualise-block-distribution-hadoop-hdfs-cluster

Le mostraría que no solo bloquea las ubicaciones en los nodos, sino también en los discos de esos nodos (vista tabular):

El código para este proyecto se puede encontrar aquí: https://github.com/cerndb/hdfs-metadata

Internamente, esta herramienta del CERN utiliza llamadas API a Hadoop; consulte, por ejemplo, https://github.com/cerndb/hdfs-metadata/blob/master/src/main/java/ch/cern/db/hdfs/DistributedFileSystemMetadata.java#L168

por lo tanto, es mucho más rápido que usar herramientas cli si planea ejecutar esto en muchos archivos, por ejemplo, y luego ver los resultados consolidados.

hdfs fsck / -files -blocks -locations permite ver solo un archivo a la vez.

Usamos esta herramienta para ver si una gran mesa de parquet se distribuye muy bien entre los nodos y discos, para verificar si el sesgo de procesamiento de datos ocurre no debido a fallas en la distribución de datos.


Si conoce el nombre del archivo, puede buscarlo a través del buscador DFS.

Vaya a su interfaz web de namenode, diga "explorar el sistema de archivos" y navegue hasta el archivo que le interesa. En la parte inferior de la página, habrá una lista de todos los bloques en el archivo, y donde se encuentra cada uno de esos bloques situado.

NOTA: Se ve así cuando hace clic en un archivo real dentro del sistema de archivos HDFS.

Alternativamente, podrías ejecutar:

hadoop fsck / -files -blocks -locations

Que informará sobre todos los bloques y todas sus ubicaciones.