當JobTracker將映射任務分配給TaskTracker時,是否需要與NameNode進行通信?或者它可以從InputSplit本身獲取信息? 當我查看代碼時,我看到InputSplits與BlockLocations打包在一起。 JobTracker會使用這些信息還是需要使用Namenode?Hadoop - 文件到塊映射
1
A
回答
0
客戶端計算拆分信息並將它們與拆分信息一起寫入HDFS。
您可以看看Hadoop 1.x JobSplit.SplitMetaInfo
有序列化實現,也序列化的位置。
jobtracker只是選擇這些序列化並對它們進行調度,其中位置只是提示如果插槽可用時更快執行的提示。
0
JobTracker確實聯繫NameNode以獲取塊位置。如果作業處理的塊數量非常大,此過程可能會花費一些時間。
+0
謝謝唐納德。我的困惑與Job Tracker爲什麼要做到這一點有關,因爲InputSplit確實具有關於可以從中獲取數據的可能位置和主機的元數據。謝謝。 – Suresh
+0
InputSplit實際上並不知道。它需要去NameNode找出。 –
相關問題
- 1. Hadoop未找到映射類
- 2. 包含從塊中讀取映射器的Hadoop java文件
- 3. Hadoop術語映射到硬件
- 4. Hadoop:映射二進制文件
- 5. 處理小文件映射減少hadoop
- 6. Hadoop:爲映射分組文件
- 7. Hadoop遞歸映射
- 8. Hadoop映射進程
- 9. Hadoop Streaming - 外部映射器腳本 - 文件未找到
- 10. Hadoop日誌鍵是否映射到reducer映射?
- 11. Hadoop無法找到映射程序
- 12. Hadoop映射器上下文對象
- 13. 映射到目標文件
- 14. Hadoop的流單映射
- 15. Hadoop的許多映射器
- 16. hadoop過濾映射輸出
- 17. Hadoop幾個映射器
- 18. 如何將內存映射到散列映射到文件
- 19. HADOOP:從映射器發射矩陣
- 20. 匿名映射或文件映射?
- 21. 多個輸出文件Hadoop的數據流與Python映射
- 22. 如何使本地文件系統的映射寫在Hadoop中
- 23. Hadoop/Python:加載映射器中使用的參考文件
- 24. 訪問hadoop中間映射輸出文件
- 25. 爲文件中的hadoop映射器創建自定義鍵值
- 26. 從Hadoop中的映射器生成多個輸出文件MapReduce
- 27. Hadoop按照每個映射工作流多個文件
- 28. Hadoop的gzip的輸入文件只有一個映射
- 29. 讀取hadoop映射中的excel文件reduce
- 30. STDIN或文件作爲Hadoop環境中的映射器輸入?
謝謝托馬斯。所以,這只是一個提示?讓我們看看這個場景。比方說,JobTracker識別要運行的數據是否位於TaskTracker的本地驅動器上,是否會通知TaskTracker?或者TaskTracker會聯繫NameNode來識別這個? – Suresh
沒有這樣的交流。 Jobtracker內部的調度程序將查看「SplitMetaInfo」,如果該位置有可用的槽,它將向tasktracker發送指令以運行具有該輸入的任務。 –
如果數據在機器中沒有(無DataLocal),它的責任是找到數據所在的機器? TaskTracker是否需要與NameNode對話,還是可以使用元數據(包含塊位置)並直接與其他機器通信? – Suresh