Hadoop學習之MapReduce(三)
在學習過MapReduce框架的幾個關鍵類和接口后(只是簡單的說明了類或者接口的作用及使用方式,要想深入了解如何工作的就需要深入研究源代碼了,這也是計劃中的學習任務),接下來看看任務的執行和環境,主要涉及的還是一些參數。TaskTracker將mapper/reducer任務作為子進程在不同的jvm中執行,子任務繼承了父進程TaskTracker的環境。用戶可以通過?mapred.{map|reduce}.child.java.opts配置參數指定額外的選項,比如通過-Djava.library.path=<>指定運行時鏈接器搜索共享庫的非標準的路徑。如果mapred.{map|reduce}.child.java.opts參數包含符號@taskid@?,那么使用MapReduce任務的taskid的值替換@taskid@?。需要注意的是mapred.{map|reduce}.child.java.opts只用于管理從TaskTracker加載的子任務。
下面是一個包含多個參數和替換的例子,展示了jvm的GC日志,啟動了無密碼登錄的JVM JMX代理(這樣可以連接到控制臺等以查看子進程內存,線程和取得線程dump),分別設置了map和reduce子jvm的最大堆大小為512MB和1024MB,通過java.library.path為子jvm添加了額外的路徑。代碼如下:
Hadoop MapReduce
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。