搭建Hadoop的Eclipse開發環境
經過一些列繁瑣的配置後,hadoop叢集終於可以跑起來了,wordcount例子也能正確執行,好了,我們可以進行Map-Reduce開發了。作為一個java程式設計師,最簡單的做法是:把在eclipse中寫好的mapreduce程式打成jar包,上傳至hadoop叢集上,然後啟動mapreduce任務。這麼做當然可以,可是我們不是大師,誰也不能保證自己寫的程式碼一次就能正確,我們需要反覆地測試、修改程式,這樣的話,每次修改都要重新打jar包,然後上傳至hadoop叢集,顯得相當地繁瑣!
有沒有一種辦法能讓eclipse連線hadoop叢集,使之能夠直接在eclipse上執行Map-Reduce任務?答案是肯定的,只需要一個eclipse外掛就能實現!
這個外掛hadoop自己就提供了,在hadoop_home/contrib/eclipse-plugin目錄下,你就會看到該外掛。但是該外掛的安裝不是很容易,而且還存在和eclipse版本相容問題。
下面我就hadoop-0.20.2和eclipse3.5版本說一下我的安裝過程。
首先,hadoop-0.20.2挑eclipse版本,一開始我的eclipse版本是3.6,把hadoop提供的外掛放進eclipse後,eclipse死活就是不出現hadoop視窗,後來經過不斷查閱資料與嘗試,發現eclipse3.3、3.4、3.5都可以與hadoop0.20.2外掛相容。如下圖,當你開啟eclipse-window-perferences時如果出現hadoop視窗,表示外掛已經差不多安裝成功了,為什麼是差不多?是不是有種不祥的預感?呵呵,稍後你就會明白了~
然後開啟Map/Reduce Locations(window-show view-others,輸入map),第一次可以新建一個,如下:
點右鍵可以進行編輯,如下:
主要是master的配置(M-R以及HDFS),點選Advanced parameters,這裡是一些詳細的配置,上面的引數填寫後也會反映到這裡來,需要注意以下幾個引數:
fs.defualt.name:與core-site.xml裡fs.default.name設定一致。
mapred.job.tracker:與mapred-site.xml裡面mapred.job.tracker設定一致。 dfs.replication:與hdfs-site.xml裡面的dfs.replication一致。 hadoop.tmp.dir:與core-site.xml裡hadoop.tmp.dir設定一致。
hadoop.job.ugi:並不是設定使用者名稱與密碼,是使用者與組名,如root,root。如果不填寫的話,會以作業系統的使用者名稱與組名登陸hadoop叢集,這一塊非常容易出錯。
好了,這些引數都配好以後,你的eclipse就可以連線hadoop叢集了,開啟Project Ecplorer,就會看到DFS locations,如下:
下面,我們就可以在eclipse上進行Map-Reduce開發了,當把程式碼寫完,右鍵選擇run on hadoop,咦,怎麼沒反應?我又重試了好幾次,確定沒反應,不是我手抖或者看錯了。
這是怎麼回事呢?這個問題當時確實卡了我很久,外掛是官方提供的,配置也正確了,都能連上HDFS了,那怎麼不能執行M-R程式碼呢?
後來在網上搜了好久的資料,發現不少人都遇到過這個問題,給出的解釋是:0.20.2版本官方提供的外掛已過時,需要下載正確的外掛,暈!(我不知道當初公司為什麼要選擇0.20.2這麼一個過度版本,想自定義一個OutputFormat都很難!)
該外掛地址:https://issues.apache.org/jira/secure/attachment/12460491/hadoop-eclipse-plugin-0.20.3-SNAPSHOT.jar
把外掛下載下來後,重新命名為hadoop-0.20.2-eclipse-plugin,重啟eclipse,再次選擇run on hadoop,終於有反應了,彈出對話方塊:
選擇之前的配置項,next。。。
本以為大功告成,沒想到,噩夢還在繼續。。。
看異常提示,貌似是命令找不到,去網上搜尋,原來是在windows下無法執行linux命令,需要在windows安裝cygwin來模擬linux環境。
遂下載、安裝、配置path,再次run on hadoop,當看到M-R作業提交執行在控制檯列印出 map 100% reduce 100%資訊時,我幾乎留下了感動的眼淚!
有沒有一種辦法能讓eclipse連線hadoop叢集,使之能夠直接在eclipse上執行Map-Reduce任務?答案是肯定的,只需要一個eclipse外掛就能實現!
這個外掛hadoop自己就提供了,在hadoop_home/contrib/eclipse-plugin目錄下,你就會看到該外掛。但是該外掛的安裝不是很容易,而且還存在和eclipse版本相容問題。
下面我就hadoop-0.20.2和eclipse3.5版本說一下我的安裝過程。
首先,hadoop-0.20.2挑eclipse版本,一開始我的eclipse版本是3.6,把hadoop提供的外掛放進eclipse後,eclipse死活就是不出現hadoop視窗,後來經過不斷查閱資料與嘗試,發現eclipse3.3、3.4、3.5都可以與hadoop0.20.2外掛相容。如下圖,當你開啟eclipse-window-perferences時如果出現hadoop視窗,表示外掛已經差不多安裝成功了,為什麼是差不多?是不是有種不祥的預感?呵呵,稍後你就會明白了~
然後開啟Map/Reduce Locations(window-show view-others,輸入map),第一次可以新建一個,如下:
點右鍵可以進行編輯,如下:
主要是master的配置(M-R以及HDFS),點選Advanced parameters,這裡是一些詳細的配置,上面的引數填寫後也會反映到這裡來,需要注意以下幾個引數:
fs.defualt.name:與core-site.xml裡fs.default.name設定一致。
mapred.job.tracker:與mapred-site.xml裡面mapred.job.tracker設定一致。 dfs.replication:與hdfs-site.xml裡面的dfs.replication一致。 hadoop.tmp.dir:與core-site.xml裡hadoop.tmp.dir設定一致。
hadoop.job.ugi:並不是設定使用者名稱與密碼,是使用者與組名,如root,root。如果不填寫的話,會以作業系統的使用者名稱與組名登陸hadoop叢集,這一塊非常容易出錯。
好了,這些引數都配好以後,你的eclipse就可以連線hadoop叢集了,開啟Project Ecplorer,就會看到DFS locations,如下:
下面,我們就可以在eclipse上進行Map-Reduce開發了,當把程式碼寫完,右鍵選擇run on hadoop,咦,怎麼沒反應?我又重試了好幾次,確定沒反應,不是我手抖或者看錯了。
這是怎麼回事呢?這個問題當時確實卡了我很久,外掛是官方提供的,配置也正確了,都能連上HDFS了,那怎麼不能執行M-R程式碼呢?
後來在網上搜了好久的資料,發現不少人都遇到過這個問題,給出的解釋是:0.20.2版本官方提供的外掛已過時,需要下載正確的外掛,暈!(我不知道當初公司為什麼要選擇0.20.2這麼一個過度版本,想自定義一個OutputFormat都很難!)
該外掛地址:https://issues.apache.org/jira/secure/attachment/12460491/hadoop-eclipse-plugin-0.20.3-SNAPSHOT.jar
把外掛下載下來後,重新命名為hadoop-0.20.2-eclipse-plugin,重啟eclipse,再次選擇run on hadoop,終於有反應了,彈出對話方塊:
選擇之前的配置項,next。。。
本以為大功告成,沒想到,噩夢還在繼續。。。
看異常提示,貌似是命令找不到,去網上搜尋,原來是在windows下無法執行linux命令,需要在windows安裝cygwin來模擬linux環境。
遂下載、安裝、配置path,再次run on hadoop,當看到M-R作業提交執行在控制檯列印出 map 100% reduce 100%資訊時,我幾乎留下了感動的眼淚!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28912557/viewspace-1280937/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 搭建Hadoop開發環境Hadoop開發環境
- Hadoop 系列(四)—— Hadoop 開發環境搭建Hadoop開發環境
- mac搭建hadoop開發環境(二)MacHadoop開發環境
- eclipse整合weblogic開發環境的搭建EclipseWeb開發環境
- Go Eclipse開發工具環境搭建(最新)GoEclipse
- GO語言eclipse開發環境搭建GoEclipse開發環境
- Eclipse下搭建Android的NDK開發環境EclipseAndroid開發環境
- 如何用eclipse搭建Android的開發環境EclipseAndroid開發環境
- 第三篇:配置Hadoop的Eclipse開發環境HadoopEclipse開發環境
- 在Eclipse下搭建Android開發環境EclipseAndroid開發環境
- 基於PHPnow搭建Eclipse開發環境PHPEclipse開發環境
- Hadoop 在Windows7作業系統下使用Eclipse來搭建hadoop開發環境HadoopWindows作業系統Eclipse開發環境
- 【Hadoop】:Windows下使用IDEA搭建Hadoop開發環境HadoopWindowsIdea開發環境
- Eclipse下搭建ArcGIS API for Android開發環境EclipseAPIAndroid開發環境
- VSCode+Maven+Hadoop開發環境搭建VSCodeMavenHadoop開發環境
- Eclipse + MinGW搭建C++開發環境踩坑EclipseC++開發環境
- 學習二:Hadoop1.0.1 Eclipse編譯環境搭建HadoopEclipse編譯
- 搭建vue的開發環境Vue開發環境
- WinCE開發環境的搭建開發環境
- Eclipse配置PHP開發環境EclipsePHP開發環境
- Windows平臺搭建Kafka原始碼開發環境(Eclipse版本)WindowsKafka原始碼開發環境Eclipse
- Eclipse+PyDev+Django+Mysql搭建Python web開發環境EclipsedevDjangoMySqlPythonWeb開發環境
- ESP32的SDK開發之window系統下eclipse開發環境搭建Eclipse開發環境
- hadoop的單機環境搭建Hadoop
- 1 – 搭建開發環境開發環境
- rollup 開發環境搭建開發環境
- 搭建go開發環境Go開發環境
- Androdi開發環境搭建開發環境
- 前端開發環境搭建前端開發環境
- Theia 開發環境搭建開發環境
- QEMU 開發環境搭建開發環境
- Cordova 開發環境搭建開發環境
- 搭建VUE開發環境Vue開發環境
- 安卓開發環境搭建安卓開發環境
- 搭建Layui開發環境UI開發環境
- 搭建scala開發環境開發環境
- EBS開發環境搭建開發環境
- andriod開發環境搭建,開發環境