Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2018-05-21, 11:13

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 2 篇文章 ] 
發表人 內容
 文章主題 : 詢問hadoop file system以及task指派到各節點的設計
文章發表於 : 2015-09-02, 14:29 
離線

註冊時間: 2014-07-03, 13:23
文章: 2
現行的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的經驗,希望能賜教一下,或者知道能做到我上述例子方法的也能分享一下.


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 詢問hadoop file system以及task指派到各節點的設計
文章發表於 : 2015-09-06, 09:23 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
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


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 2 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作