tutoriales multinode example etapas comandos and hadoop mapreduce hadoop-streaming

hadoop - multinode - mapreduce java



¿Cuál es la diferencia entre las tareas de mapa local de Rack y las tareas de mapa de datos locales? (2)

En una tarea local de datos, no es necesario copiar nada. Eso es porque el bloque está físicamente en el mismo servidor que el cálculo.

El siguiente nivel es la tarea local del rack, aquí los datos deben copiarse, porque no hay una copia local del bloque deseado disponible. Tenga en cuenta que rack-local solo copia en el rack de conmutación local de la red.

También está el peor caso, donde los datos no están disponibles localmente, ni en el mismo rack. Entonces esto se debe copiar sobre dos conmutadores a los hosts donde se ejecuta el cálculo. No sé si hay un contador para eso, pero básicamente debe ser #all tasks - #data-local tasks - #rack-local tasks .

Cuando ejecuto "hadoop job -status xxx", imprima la siguiente lista.

Rack-local map tasks=124 Data-local map tasks=6

¿Cuál es la diferencia entre las tareas de mapa local de Rack y las tareas de mapa de datos locales?


Me gustaría señalar que proporcionar una red gigabit (o más rápida) entre computadoras dentro del mismo rack es mucho más barata que para una mayor cantidad de computadoras.
La causa principal es el hecho de que los conmutadores de Ethernet no son escalables y no podemos tener dicho conmutador para cientos de puertos a un precio razonable.
Debido a esto, hadoop intenta ejecutar tareas al menos en el mismo rack, si no puede hacerlo en el nodo donde se almacenan los datos.