У меня есть установка Hadoop с 2 узлами (1 — ведущий/ведомый, а другой — ведомый) и 4 входных файла размером 1 ГБ каждый. Когда я устанавливаю для dfs.replicate значение 2, все данные копируются на оба узла, что понятно. Но мой вопрос заключается в том, как я могу увидеть улучшенную производительность (почти вдвое лучше) по сравнению с настройкой с одним узлом, поскольку в случае с двумя узлами map-reduce по-прежнему будет работать с полным набором данных в обеих системах вместе с добавленным накладные расходы на перенаправление входных данных от двух преобразователей к редукторам.
Кроме того, когда я устанавливаю репликацию как 1, все данные существуют только на главном узле, что также понятно, чтобы избежать накладных расходов на Ethernet. Но даже в этом случае я вижу улучшение производительности по сравнению с настройкой с одним узлом, что меня сбивает с толку, поскольку map-reduce работает с локальными наборами данных, этот сценарий должен быть по существу похож на настройку с одним узлом с одной программой уменьшения карты, работающей на главном node на весь набор данных ??
Может кто-нибудь помочь мне понять, что мне здесь не хватает???
Спасибо, Паван.