zeus宙斯Job提交分析--MapReduceJob提交

最近在作Job調度管理的事情,打算利用zeus,因爲git上zeus版本久遠,目前公司的集羣是hadoop2.X的,須要改造,並看了下源碼。java

本文主要是從zeus代碼裏提取出來MapReduceJob的提交YARN集羣方式,簡化了一些沒必要要的過程,模擬了MapReduceJob的提交YARN集羣的過程。linux

image

我將簡化的工程放到github上,相見git

image

從設計角度出發,要想將保護job做業的jar包提交到集羣,須要分離調度,和具體job二部分。因此簡化後的工程包括mrjobsubmit和wordcount。github

wordcount是完成對hdfs文件的單詞計數的job的簡單示例。apache

mrjobsubmit是調度部分windows

從技術角度出發,調度須要使用反射機制來調用可能的JOB,相見mrjobsubmit工程中的MapReduceMain類,並須要經過core-site.xml來傳遞jar位置(爲何能夠這樣,相見org.apache.hadoop.conf.Configuration源碼)服務器

Job部分須要使設置mapred-site.xml和yarn-site.xml的重要配置,相見wordcount工程中的WordCount類maven

接下來講下工程以後的一些操做過程。函數

1.先maven package一下oop

imageimage

2.將構建好的lib文件夾、MRJobSubmit.jar和WordCount.jar上傳到linux服務器上,結構以下:

7BUG@OAQ69}K2A9MI{ROF}N

3.執行下面命令,完成wordcountjob的提交

java -cp '.:./*' com.leju.mrjobsubmit.MapReduceMain /data1/local/wqq/mrjob/WordCount.jar com.leju.wordcount.WordCount

其中com.leju.mrjobsubmit.MapReduceMain是調度主函數

參數1:/data1/local/wqq/mrjob/WordCount.jar 指定運行job的jar路徑

參數2:com.leju.wordcount.WordCount 指定job的主函數

成功的console顯示

image

集羣監控頁面能夠看到wordcount的job在運行處理

image

image

另外若是在windows下作job的調度與提交,在hadoop2.3的版本上,修改些源碼,相見工程中的windows文件夾

參考:

從Java代碼遠程提交YARN MapReduce任務

http://blog.csdn.net/mercedesqq/article/details/16885115

相關文章
相關標籤/搜索