您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Hadoop0.20更新的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Hadoop0.20更新筆記
最近學習hadoop0.20.1,網上找到一篇文章《What’sNewinHadoopCore0.20》,非完整的給翻譯了一下,為以后檢索方便,發上來保存一份。如果能讀懂英文的,千萬不要看下面的中文。
HadoopCore0.20.0在2009年4月22日發布。這一發布相對0.19發布,有很多用戶使用層面上的改變。
Core
Hadoop中兩個主要的組件是分布式文件系統(HDFS)和MapReduce,那兩個組件分別挪入各自的子項目中,因此他們能擁有自己的發布周期,并且更容易對開發進行管理。但是在0.20發布中,這兩個組件還是在一起發布。在這次發布中,hadoop-size.xml被拆分成三個配置文件:core-site.xml、hdfs-site.xml和mapred-site.xml(HADOOP-4631)。你也可以繼續使用單一的hadoop-site.xml,hadoop僅僅會提出一個警告而已。默認配置文件已經移出conf文件夾,轉而放到.jar文件中,其內容可以看docs文件夾中的html文件。不贊成start-all.sh、stop-all.sh的使用,建議使用start-dfs.sh、start-mapred.sh、stop-dfs.sh、stop-mapred.sh來代替。
上面說的是一些主要的變化,而允許slaves文件中加注注釋(HADOOP-4454)對實際操作更為有用。
Hadoop配置文件支持Xinclude元素,用于引入其他的配置文件(HADOOP-4944(url:https://issues.apache.org/jira/browse/HADOOP-4944))。這一機制能讓配置文件更加模塊化、更易于重用。
圍繞安全問題,hadoop作出了一系列動作。其中0.20.0增加了service-levelauthorization(HADOOP-4348)。開發人員能夠限制客戶端與hadoopdaemons的通信。
LZOcompressionlibraries因為許可的原因移出了hadoopcore,如果你的代碼使用GPL許可證,你還是能從hadoop-gpl-compression項目中得到LZO。
HDFS
HSFSappend從0.19.1開始默認disable。
hadoop增加了一個新的管理命令:hadoopdfsadmin-saveNamespace。在安全模式下,這個命令能讓namenode轉存namespace到磁盤。
MapReduce
在Hadoop0.20更新中,***的變化是加入了一個叫“ContextObjects”的新JavaAPI。把Mapper和Reduce通過引入ContextObject變成抽象類(不是接口),是為了讓API將來更易于演進。
1.JobConf不再存在,Job配置信息由Configuration持有;
2.現在在map()或reduce()方法中,更容易得到job配置信息。僅需要調用context.getConfiguration()。
3.新的API支持pull形式的迭代。在此之前,如果你想在mapper中遍歷一下記錄,你不得不把他們保存到Mapper類的實例變量中。在新的API中,只需要調用nextKeyValue()即可。
4.你還能覆蓋run()方法,來控制mapper如何運行。
5.新API中不再有IdentityMapper和IdentityReducer兩個類,因為默認Mapper和Reducer執行了標識函數。
新的API并非向后兼容,所以你必須重寫你的應用。注意,新的API在org.apache.hadoop.mapreduce包及其子包中,而舊的API在org.apache.hadoop.mapred。
Multipletaskassignment,這一優化讓JobTracker在一次心跳周期內能分配給tasktracker多個任務,提高了利用率。同時引入mapred.reduce.slowstart.completed.maps新的配置參數(默認0.05)。
Inputformats增加了一些有意思的改進。FileInputFormat在選擇那個主機有更多的需要分割的文件上做的更好。在另一方面0.20引入了CombineFileInputFormat類,他能把許多小文件變成一個split。
Gridmix2是第二代MapReduce工作量基準模型套件。
Contrib
兩個新捐獻的模塊在0.20分支中出現:
HDFSProxy,他能暴露HDFS一個只讀的HSFTP接口,用于提供安全的、只讀的訪問。
Vaidya,這是一個工具,用于在MapReducejob運行后通過檢查作業歷史和配置信息來診斷錯誤。針對常見的問題能提供一些改進意見,使得你的代碼能避免出錯。
關于“Hadoop0.20更新的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。