Назад | Перейти на главную страницу

Сценарий Hadoop + NAT

У меня есть ситуация, когда я хотел бы запустить Hadoop на 2 кластера. Первый кластер (ClusterA) нормальный, и все узлы общедоступны. Второй кластер (ClusterB) находится за NAT.

Узлы в ClusterA будут работать как с Mapred, так и с HDFS, в то время как узлы в ClusterB будут работать с Mapred без HDFS, и им не будет разрешено выполнять задачи Reduce. Главный узел (трекер заданий, namenode, вторичный namenode) будет в ClusterA.

У меня вопрос: если я запускаю ClusterB TaskTrackers самостоятельно, не используя bin/start-all.sh из JobTracker, будет ли эта настройка работать? TaskTrackers в ClusterB откроет собственное соединение C&C с JobTracker и должно получать назначения MapTask через это соединение. HDFS будет полностью в ClusterA, поэтому все узлы должны иметь доступ к фрагментам нормально.

Единственная проблема, о которой я могу думать, - это сокращение задач, выполняемых в ClusterA, которые пытаются получить промежуточные данные, хранящиеся на узлах ClusterB. Это операция выталкивания или вытягивания? Существуют ли другие сценарии, при которых NAT вызовет проблемы?

Ответ заключается в том, что задачи Reduce тянут, и поэтому им нужен доступ через NAT. В противном случае это работает.