2015-06-27 270 views
0

我是Hadoop的新手。請糾正我,如果我問廢話,並幫助我解決這個問題:)。Hadoop多節點羣集

我安裝並配置了一個兩節點hadoop集羣(紗線)。

  • 主節點:2TB HDD,4GB RAM
  • 從屬節點:500GB HDD,4GB RAM

的Datanode: 主節點僅(不保持複製的數據在從節點)

映射/減少: 主節點&從節點。

在10TB數據中,我上傳了2TB到主節點(數據節點)。我只使用從節點進行Map/Reduce(使用從節點的100%CPU來運行查詢)。

我的問題:

  1. 如果我添加一個新的2TB硬盤到主節點,我希望更多的上傳2TB到主節點,我該如何使用這兩種硬盤(舊硬盤和新的硬盤數據在主)?有沒有辦法在hdfs-site.xml中提供多個硬盤路徑?

  2. 我是否需要在從節點中添加4TB硬盤(使用主節點中的所有數據)才能使用從節點的100%CPU?或者從機可以從主機訪問數據並運行Map/Reduce作業?

  3. 如果我添加4TB到奴隸並上傳數據到hadoop。這將使主複製(複製)的任何複製?我可以訪問從站的主硬盤和主硬盤的主硬盤中的所有數據嗎?如果我這樣做,查詢是否使用兩個節點的100%CPU?

  4. 總的來說,如果我有10TB的數據。什麼是配置Hadoop兩節點羣集的正確方法?我應該使用什麼規範(對於master和datanode)來快速運行Hive查詢?

我被卡住了。我真的需要你的建議和幫助。

感謝提前一噸。

回答

1

請在下面找到答案:

  1. 提供了一個逗號分隔在HDFS-site.xml中的目錄列表。來源https://www.safaribooksonline.com/library/view/hadoop-mapreduce-cookbook/9781849517287/ch02s05.html
  2. 不,您不需要在從站上添加HDD來使用100%的CPU。在當前配置下,運行在從站上的節點管理器將從主站上運行的數據節點(通過網絡)讀取數據。這在數據局部性方面效率不高,但不會影響處理吞吐量。由於網絡傳輸,它會增加額外的延遲。
  3. 否。複製因子(要存儲的副本數)與數據節點數無關。可以使用屬性dfs.replication將默認複製因子更改爲hdfs-site.xml。您也可以在每個文件的基礎上進行配置。
  4. 您至少需要10GB的存儲空間(所有數據節點組合,複製因子1)。對於生產系統,我建議複製因子3(處理節點故障),即至少3個節點上的10 * 3 = 30GB存儲。由於10GB在Hadoop方面非常小,因此每個節點具有3個節點,每個節點具有2個或4個核心處理器以及4至8 GB內存。配置爲 - node1:名稱節點+數據節點+節點管理器,節點2:資源管理器+數據節點+節點管理器,節點3:數據節點+節點管理器。