Nat
Hadoop + NAT 場景
我有一種情況,我想在 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 訪問。否則它似乎工作。