Taiwan Hadoop Forum http://forum.hadoop.tw/ |
|
詢問hadoop file system以及task指派到各節點的設計 http://forum.hadoop.tw/viewtopic.php?f=7&t=38286 |
第 1 頁 (共 1 頁) |
發表人: | john1992aax [ 2015-09-02, 14:29 ] |
文章主題 : | 詢問hadoop file system以及task指派到各節點的設計 |
現行的hadoop在上傳檔案會根據replication將file上傳至各個slave節點上,想請問有沒有方法能指定上傳至特定幾台呢? <用個例子來講 : 假設clusters由1~10號組成並正常啟動, 上傳檔案只上傳到1~4號> 另一方面在run hadoop job的時候, 1個job會由好幾個mapreduce task所組成, 這些task也會被分到個台電腦去執行,照上面例子來說如果我想指定這些task只被分配到1~8號(當然上傳的檔案也只在1~8號) , 這以目前hadoop的參數設定有辦法做到嗎? 我有自行查過一些相關資料感覺要做到上述事情似乎需要改source code, 我看了apache github上的hdfs source code, 但也不太清楚關於它將file replica至各台的部分是在哪實作,如果有人曾經有改過相關hdfs source code & task assignment的經驗,希望能賜教一下,或者知道能做到我上述例子方法的也能分享一下. |
發表人: | jazz [ 2015-09-06, 09:23 ] |
文章主題 : | Re: 詢問hadoop file system以及task指派到各節點的設計 |
john1992aax 寫: 現行的hadoop在上傳檔案會根據replication將file上傳至各個slave節點上,想請問有沒有方法能指定上傳至特定幾台呢? <用個例子來講 : 假設clusters由1~10號組成並正常啟動, 上傳檔案只上傳到1~4號> 另一方面在run hadoop job的時候, 1個job會由好幾個mapreduce task所組成, 這些task也會被分到個台電腦去執行,照上面例子來說如果我想指定這些task只被分配到1~8號(當然上傳的檔案也只在1~8號) , 這以目前hadoop的參數設定有辦法做到嗎? 我有自行查過一些相關資料感覺要做到上述事情似乎需要改source code, 我看了apache github上的hdfs source code, 但也不太清楚關於它將file replica至各台的部分是在哪實作,如果有人曾經有改過相關hdfs source code & task assignment的經驗,希望能賜教一下,或者知道能做到我上述例子方法的也能分享一下. 也許要先問「指定」上傳到/執行於特定節點的動機是什麼?能帶來什麼優點? 這個問題常常在論壇上出現,除了有人從硬體規格不同的觀點切入以外,我個人是蠻好奇有沒有什麼其他需求。 通常會問這個問題都是為了「做研究」,不過論文最開始的 Motivation 如果講不清楚,大概也是會被口試委員問到爆。 1. HDFS 現有機制:設定 Rack ( google hadoop rack aware) 類似群組的概念,但上傳上 1~4 之後,會副本到 5~10 其次,善用 HDFS 的 Short Circuit 機制,在 node1 上傳檔案,會優先擺在 node1 的 datanode。在 node4 上傳檔案會優先擺在 node4。 2. JobTracker 現有機制:使用 Fair Scheduler 設定「資源池」(Resource Pool) 單純站在瞭解程式碼,想要做出改良的觀點,透過改程式碼是辦得到,我只有追了一小段: 1. HDFS 請參考 DFSClient.java 裡的 DFSOutputStream 類別,設法改變裏面 dataQueue 的邏輯,應該有辦法辦到。 2. JobTracker 的部份可能就要找 FairScheduler.java 這個檔先做「框架」的參考,基本上等於自己重新實作一個排程器了。 很抱歉我追的程式碼很舊了,是 0.20 版本 不過有些方法應該對你們做研究會有幫助, 例如: 用 patch 的方式,來追程式碼的運作流程:http://trac.3du.me/cloud/wiki/III140705/Lab9 不要老是重頭 build 整個 hadoop 太耗時 - Jazz |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |