我想寫一些「引導」類,這將看MQ的消息和提交的map/reduce作業的Hadoop。這些作業大量使用一些外部庫。目前,我已經實現了這些作業,打包爲帶有bin,lib和日誌文件夾的ZIP文件(我正在使用maven-assembly-plugin將事情聯繫在一起)。的Hadoop - 提交作業,有很多的依賴(jar文件)
現在我想爲mapper和reducer小包裝,將使用現有的應用程序的部分。
就我所知,當提交作業時,Hadoop會嘗試查找帶有mapper/reducer類的JAR文件,並將該jar通過網絡複製到數據節點,該節點將用於處理數據。但是,我不清楚如何告訴Hadoop複製所有依賴關係?
我可以使用maven-shade-plugin創建一個帶有作業和依賴關係的超級jar文件,另一個用於引導程序的jar(該jar使用hadoop shell腳本執行)。
請指教。
有張貼在這裏詳細的解答:http://stackoverflow.com/questions/6890087/problem-with- libjars功能於Hadoop的 –