2015-09-14 64 views

回答

3

簡答:

node/gateway從您開始MapReduce作業的機器。您需要將主要的MapReduce Driver jar放在本地文件系統中,並且所有依賴關係jar可以放入local file systemHDFS路徑。所以當你開始這項工作時,你將通過使用-libjars參數傳遞依賴庫jar路徑。 HDFS罐子將在其HDFS中的路徑前綴中包含前綴hdfs://。在本地系統上需要主MapReduce jar來啓動mapreduce作業,該作業實質上聯繫資源管理器(Hadoop-2),用於爲作業分配特定應用程序應用程序主文件

Hadoop的設計使用數據局部性的概念。在現實世界中,數據的大小遠遠大於需要在數據上執行的代碼的大小。可執行的jar文件被傳輸到本地包含數據塊的節點。這將網絡傳輸時間減到最少。

0

這是一個棘手的問題。

您的jar需要在所有節點中本地執行至少一項作業(Map和/或Reducer)的作業(不是所有節點)。 但是你不需要自己發佈你的jar。這就是hadoop基於ResourceManager及其MapReduce框架知道如何去做的。hadoop jar命令是誰啓動的過程。如果您的MapReduce應用程序需要外部依賴項(其他jar),那麼您需要將它們提供給hadoop並指定它們在節點之間分佈。

相關問題