Nat

Hadoop + NAT 場景

  • July 23, 2011

我有一種情況,我想在 2 個集群中執行 Hadoop。第一個集群(ClusterA)正常,所有節點都可以公開訪問。第二個集群 (ClusterB) 在 NAT 後面。

ClusterA 中的節點將同時執行 Mapred 和 HDFS,而 ClusterB 中的節點將在沒有 HDFS 的情況下執行 Mapred,並且不允許執行 Reduce 任務。主節點(jobtracker、namenode、secondary namenode)將在 ClusterA 中。

我的問題是:如果我在不使用 JobTracker 的情況下獨立啟動 ClusterB TaskTrackers bin/start-all.sh,這個設置會起作用嗎?ClusterB 中的 TaskTracker 將打開自己的與 JobTracker 的 C&C 連接,並應通過此連接接收 MapTask 分配。HDFS 將完全位於 ClusterA 中,因此所有節點都應該能夠正常訪問塊。

我能想到的唯一問題是在 ClusterA 中執行的 Reduce 任務試圖獲取儲存在 ClusterB 節點上的中間數據。這是推還是拉操作?是否還有其他情況會導致 NAT 出現問題?

答案是 Reduce 任務確實拉,因此需要通過 NAT 訪問。否則它似乎工作。

引用自:https://serverfault.com/questions/291061