我在本地節點CentOS上運行Hadoop 2.2.0.2.0.6.0-101。打包和部署Hadoop MapReduce作業的正確方法?
當我在Eclipse項目中包含從/usr/lib/hadoop
和/usr/lib/hive
作爲依賴關係的必需jar時,My MapReduce作業在Eclipse中編譯。找到必需的罐子是一個真正的追求!而grep是我這項工作的唯一工具,像grep -ri -l "FacebookService" /usr/lib/hadoop
雖然我在嘗試在編譯它的同一本地節點上運行我的應用程序時遇到了異常。我放棄嘗試尋找必要的罐子 - 在一個例外被修復之後出現一個新的瓶子。
現在,從/usr/lib/hadoop
和/usr/lib/hive
加入罐後有固定的約10例外我有一個真正的好一個:
java.io.IOException: Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.
有趣的部分:當我添加所有罐子從這些目錄我的程序運行!
最後一個解決方案在我的情況下不起作用,因爲我需要創建自足的包來在另一個分佈式Hadoop安裝上運行我的應用程序。
部署Hadoop MapReduce作業的正確方法是什麼? 我應該如何設置Hadoop CLASSPATH以在任何節點上運行MapReduce作業?
使用maven構建並擁有來自Jackson的JSON庫的依賴關係。 Jar在我們的集羣上部署得很好。你確定你的設置配置正確嗎? – Vishal