Во-первых, у меня нет объяснения, почему отключение вашей сети приведет к ускорению.Чтобы выяснить эту проблему, вам нужно будет просмотреть журналы Hadoop.
Это типичное поведение, с которым большинство людей сталкиваются при запуске Hadoop на одном узле.По сути, вы пытаетесь использовать FedEx, чтобы доставить что-то своему ближайшему соседу.Это всегда будет проходить быстрее, потому что это накладные расходы при работе с распределенной системой.Когда вы запускаете локальный режим, вы выполняете только функцию Map-Reduce.Когда вы запускаете псевдораспределение, он будет использовать все серверы Hadoop (NameNode, DataNodes для данных; Resource Manager, NodeManagers для вычислений), и вы увидите, что в этом задействованы задержки.
Когда вы отправляете своиработа, менеджер ресурсов должен планировать это.Поскольку ваш кластер не занят, он будет запрашивать ресурсы у Node Manager.Диспетчер узлов предоставит ему контейнер, в котором будет запускаться ваш Application Master.Как правило, этот цикл занимает около 10 секунд.Как только ваш AM будет запущен, он запросит ресурсы у менеджера ресурсов для задач Map и Reduce.Это займет еще 10 секунд.Кроме того, когда вы отправляете свою работу, примерно 3 секунды ждут, прежде чем эта работа будет фактически отправлена менеджеру ресурсов.Пока что это 23 секунды, а вы еще не выполнили никаких вычислений.
После выполнения задания наиболее вероятной причиной ожидания является выделение памяти.В небольших системах (> 32 ГБ памяти) ОС может потребоваться некоторое время для выделения места.Если бы вы запускали то же самое на обычном аппаратном оборудовании для Hadoop (16+ ядро, 64+ ГБ), вы бы, вероятно, увидели время выполнения ближе к 25-30 секундам.