hadoop編譯eclipse插件
『壹』 在Ubuntu下配置Eclipse的Hadoop插件,WordCount程序測試編譯不通過!
有Hadoop用eclipse導入一個外來的工程時會出現以上錯誤,可能是因為你的電腦上安裝了多個版本的jdk。或者jdk對應多個jre
解決的辦法是:右擊工程目錄下的jdk 選擇 build path---->config build path 或者在eclipse菜單欄點擊project----->propertys 在裡面再選擇java Build Path -----> Libraries---->Add Libraries----->JRE System Library
『貳』 編譯hadoop的eclipse插件出現如下錯誤提示,求大神解答
安裝hadoop插件之前,缺少一些插件,可以在update裡面裝相關的插件。
『叄』 如何給eclipse安裝hadoop插件找不到
1、下載Eclipse解壓。
2、把hadoop-eclipse-plugin-1.1.2.jar放到eclipse的plugs目錄下。
我的hadoop集群用的版本:hadoop1.1.2
hadoop0.20以後的版本的安裝目錄下contrib/沒有eclipse的hadoop-*-eclipse-plugin.jar插件,需要自己用ant編譯。
源文件在:hadoop-x.y.z/src/contrib/eclipse-plugin 下,注意:需要下載源目錄的包,如查下載的是bin的壓縮包,裡面是沒有eclipse插件的源文件的。
3、打開Eclipse
window-- Preferences 出現Hadoop Map/Rece
配置Hadoop installation directory:
注意:我的宿主機windows上並沒有安裝hadoop, hadoop安裝在VM中的centos中
在windows下建了一個目錄F:/myHadoop 把centos hadoop安裝根目錄下的jar包拷過來。
4、新建工程:Map/Rece Project
配置hadoop location:
5、刷新DFS Locations 列出HDFS伺服器上的上的目錄:
6、問題:
在Eclipse上可以列出hadoop集群上的目錄,但不能創建文件,上傳文件
原因:windows下Eclipse安裝了hadoop插件,默認使用的是windows當前用戶去操作hadoop,而我的hadoop集群當前的用戶是grid
而Eclipse中hadoop locations 的高級參數配置,是不能修改這個用戶的:
解決方法:
在windows用戶和組的管理中,把當前用戶修改成hadoop組grid用戶。
但我的機器系統是win7家庭版,打不開用戶和組管理:
不能已,用另一種方案:
windows上新建一個grid用戶,然後再打開Eclipse,創建工程,進行以上的配置DFS Loactioins
發現這時,在Eclipse中可以列出目錄,新建文件夾,上傳文件了。( 或者修改hadoop集群上文件夾的許可權,如:bin/hadoop fs -chmod 777 ./in, 下圖第2個文件是修改hadoop集群文件平許可權後上傳的)
『肆』 怎麼自己動手編譯hadoop的eclipse插件
1.在linux環境中偽分布式部署hadoop(SSH免登陸),運行WordCount實例成功。 http://www.cnblogs.com/PurpleDream/p/4009070.html
2.自己打包hadoop在eclipse中的插件。 http://www.cnblogs.com/PurpleDream/p/4014751.html
3.在eclipse中訪問hadoop運行WordCount成功。
所以我下邊會分三次記錄下我的過程,為自己以後查閱方便,要是能幫助到其他人,自然是更好了!
===============================================================長長的分割線====================================================================
正文:
如果你想在eclipse中安裝hadoop的插件,一個很重要的問題就是hadoop的版本與eclipse版本的匹配問題,如果不匹配,可能會導致很多問題。
綜上,我在完成了在Linux的CentOS系統中安裝hadoop並簡單運行WordCount之後(具體參看本文前言中的博客鏈接),將學習的重點放到了hadoop的eclipse插件上。其實網上也有部分文章在介紹如何編寫插件,但是由於我的eclispe版本是Juno,而之前在CentOS安裝的是hadoop-1.0.1,所以沒有找到完全匹配的成功案例。所以最終決定自己也動手變異一個自己的hadoop插件。
在有了這個想法之後,一開始會覺得特別困難,但是在真正去做之後,會發現很多問題其實還是可以解決的,只要你懂得如果使用網路和谷歌,多參考一下別人的文章,汲取精華,最終一定會成功的。
第一步,確定大致流程:
1.首先我需要ant編譯,然後就是hadoop-1.0.1.tar.gz這個安裝包,還有就是eclipse。
2.針對我自己的環境,電腦是Win7,eclispe是Juno,下載了hadoop-1.0.1.tar.gz,就差ant之前沒有安裝。
第二步,安裝ant:
1.我參考的是這篇文章http://blog.csdn.net/yang382197207/article/details/10185251,我當時下載的是apache-ant-1.9.4,其他的步驟按照這篇文章介紹的配置就會成功。
第三步,在正式建立項目之前,我在介紹下我的環境: OS: windows 7, Eclipse: Juno, JDK: 1.6.0_43, Hadoop: 1.0.1
1.首先在Eclipse中新建一個Java項目,名字叫hadoop-1.0.1-eclipse-plugin,其實這個名字你可以隨意的。
2.解壓hadoop-1.0.1.tar.gz,在解壓後的目錄中(我的是D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1),依次將下面的文件放到項目中:
(1).將\hadoop-1.0.1\src\contrib\eclipse-plugin裡面的所有文件以及\hadoop-1.0.1\src\contrib\build-contrib.xml拖拽到項目中
(2).將根目錄\hadoop-1.0.1里的所有.jar文件拖拽到eclipse項目中bin目錄下。
3.打開項目中的build-contrib.xml,做如下的配置:
(1).找到<property name="hadoop.root" location="hadoop-1.0.1解壓縮後的目錄"/>
(2).找到<property name="eclipse.home" location="自己的eclipse的目錄"/>
(3).找到<property name="version" value="hadoop的版本號"/>
可以參考我的配置,如圖:
view sourceprint?
1.
<property name="name" value="${ant.project.name}"/>
2.
<property name="root" value="${basedir}"/>
3.
<property name="hadoop.root" location="D:/SettingUp/ITSettingUp/Hadoop/hadoop-1.0/hadoop-1.0.1"/>
4.
<property name="eclipse.home" location="D:/HaveSetted/ITHaveSetted/Eclipse"/>
5.
<property name="version" value="1.0.1"/>
4.打開項目中的build.xml,做如下的配置:
(1).將文件開頭的 <import file="../build-contrib.xml"/> 修改為 <import file="build-contrib.xml"/>
(2).在<javac...>里如下圖加入includeantruntime="on",效果如下:
view sourceprint?
01.
<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">
02.
<echo message="contrib: ${name}"/>
03.
<javac
04.
encoding="${build.encoding}"
05.
srcdir="${src.dir}"
06.
includes="**/*.java"
07.
destdir="${build.classes}"
08.
debug="${javac.debug}"
09.
deprecation="${javac.deprecation}"
10.
includeantruntime="on">
11.
<classpath refid="classpath"/>
12.
</javac>
13.
</target>
(3).在<path id="classpath">中添加:<path refid="hadoop-jars"/>,效果如下:
view sourceprint?
1.
<!-- Override classpath to include Eclipse SDK jars -->
2.
<path id="classpath">
3.
<pathelement location="${build.classes}"/>
4.
<pathelement location="${hadoop.root}/build/classes"/>
5.
<path refid="eclipse-sdk-jars"/>
6.
<path refid="hadoop-jars"/>
7.
</path>
(4).在<target name="jar" depends="compile" unless="skip.contrib">這個標簽里,在< file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>這個配置的下面添加如下幾個jar包的配置:
view sourceprint?
1.
< file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/>
2.
< file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
3.
< file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>
4.
< file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
5.
< file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
最終效果如圖:
view sourceprint?
01.
<!-- Override jar target to specify manifest -->
02.
<target name="jar" depends="compile" unless="skip.contrib">
03.
<mkdir dir="${build.dir}/lib"/>
04.
< file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core-1.0.1.jar" verbose="true"/>
05.
< file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
06.
07.
< file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true"/>
08.
< file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true"/>
09.
< file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true"/>
10.
< file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
11.
< file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true"/>
12.
13.
<jar
14.
jarfile="${build.dir}/hadoop-${name}-${version}.jar"
15.
manifest="${root}/META-INF/MANIFEST.MF">
16.
<fileset dir="${build.dir}" includes="classes/ lib/"/>
17.
<fileset dir="${root}" includes="resources/ plugin.xml"/>
18.
</jar>
19.
</target>
(5).在文件末尾</project>標簽之前添加配置:
view sourceprint?
1.
<path id="hadoop-jars">
2.
<fileset dir="${hadoop.root}/">
3.
<include name="hadoop-*.jar"/>
4.
</fileset>
5.
</path>
5.打開hadoop-1.0.1的解壓縮目錄(我的是D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1),復制兩個jar包到對應的目錄文件夾,以我的文件目錄結構舉例如下:
(1).將D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\hadoop-core-1.0.1.jar 復制到D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\build\這個文件夾中
(2).將D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\lib\commons-cli-1.2.jar復制到D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\build\ivy\lib\Hadoop\common這個文件夾中
6.再回到eclipse,打開項目中的\META-INF\MANIFEST.MF文件,做如下的添加:
view sourceprint?
1.
Bundle-ClassPath: classes/,
2.
lib/hadoop-core-1.0.1.jar,
3.
lib/commons-cli-1.2.jar,
4.
lib/commons-configuration-1.6.jar,
5.
lib/commons-httpclient-3.0.1.jar,
6.
lib/commons-lang-2.4.jar,
7.
lib/jackson-core-asl-1.8.8.jar,
8.
lib/jackson-mapper-asl-1.8.8.ja,
7.經過上邊的配置,基本已經完成,我們可以編譯項目了。右擊build.xml文件選擇 Run As Ant Build,編譯成功,生成的hadoop-1.0.1-eclipse-plugin.jar在hadoop-1.0.1解壓目錄的\build\contrib\eclipse-plugin文件夾裡面。
第四步,當然就是在eclipse中配置我們編譯好的插件。
1.把hadoop-1.0.1-eclipse-plugin.jar文件放到eclipse安裝目錄的plugins中,重啟eclipse。重啟後,會在Window->Open Perspective->Other里,看到大象圖標的Map/Rece出現,或者是window->Preferences中看到Hadoop Map/Rece這個選項。
2.window->Preferences中點擊Hadoop Map/Rece這個選項,將Hadoop的那個解壓縮目錄(我的是D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1)的路徑配置上,配置效果圖如下:
\
3.然後我們在Window->Open Perspective->Other里,點擊Map/Rece,切換到這個模式,截圖如下:
\
4.切換到Map/Rece模式後,我們看到畫面(4)中的截圖,點擊右下角的兩個小圖標,測試有沒有反應,如果有反應,暫時先別配置,這個我下篇博客會具體講。如果怎麼點都沒有反應,則可以做如下操作:
(1).打開項目中的\META-INF\MANIFEST.MF文件,找到之前編譯時,添加的Bundle-ClassPath: classes/ 這個位置,之前我們添加了7個jar包的配置,再增加四個,如下:
view sourceprint?
1.
lib/hadoop-common-0.21.0.jar,
2.
lib/hadoop-hdfs-0.21.0.jar,
3.
lib/log4j-1.2.15.jar,
4.
lib/hadoop-mapred-0.21.0.jar
(2).然後我們還需要去網上下載這四個jar包放到下面的文件夾中,以我的目錄舉例:D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\lib。
(3).然後在重新編譯即可,在替換原來的插件時,在重啟eclipse的過程中,你可以這樣做:先刪除原來的插件,原來重啟eclipse,確認Map/Rece沒了;然後再關掉eclipse,將新的插件放到plugins里,之後再次啟動eclipse。解決這個問題時我在網上參考的文章是:http://blog.csdn.net/kky2010_110/article/details/7774747,大家也可以看看~。
(4).上邊所提到的截圖如下:
\
經過上邊說的這些步驟,eclipse中的hadoop插件我們算是編譯完了,這個過程中一定要注意的是,不要怕失敗,多嘗試,因為hadoop版本與eclipse版本是有關系的,所以導致你的版本和我的不太一致,可能會失敗,但是也可能會成功。所以在這里再次提醒,注意文章開始,我對自己的環境的版本的介紹,尤其是eclipse和hadoop的版本。建議大家如果有時間的話,可以先不管版本,按照我的步驟先走一遍,如果實在是不成功的話,則可以找個和我一樣的eclipse和hadoop版本,再體驗一回。因為,我在這個過程中,就發現,由於是第一次學hadoop,不見到成功的效果,總覺得少點什麼,總想見識一下,莫取笑哈~
至於下一步,如果配置Location和運行WordCount,我會在下一篇博客中具體說明,謝謝支持,覺得文章還不錯的話,多多點贊,多多留言哈,這將使我充滿動力!
『伍』 怎樣安裝eclipse hadoop插件
1、下載Eclipse解壓。2、把hadoop-eclipse-plugin-1.1.2.jar放到eclipse的plugs目錄下。我的hadoop集群用的版本:hadoop1.1.2hadoop0.20以後的版本的安裝目錄下contrib/沒有eclipse的hadoop-*-eclipse-plugin.jar插件,需要自己用ant編譯。源文件在:hadoop-x.y.z/src/contrib/eclipse-plugin下,注意:需要下載源目錄的包,如查下載的是bin的壓縮包,裡面是沒有eclipse插件的源文件的。3、打開Eclipsewindow--Preferences出現HadoopMap/Rece配置Hadoopinstallationdirectory:注意:我的宿主機windows上並沒有安裝hadoop,hadoop安裝在VM中的centos中在windows下建了一個目錄F:/myHadoop把centoshadoop安裝根目錄下的jar包拷過來。4、新建工程:Map/ReceProject配置hadooplocation:5、刷新DFSLocations列出HDFS伺服器上的上的目錄:6、問題:在Eclipse上可以列出hadoop集群上的目錄,但不能創建文件,上傳文件原因:windows下Eclipse安裝了hadoop插件,默認使用的是windows當前用戶去操作hadoop,而我的hadoop集群當前的用戶是grid而Eclipse中hadooplocations的高級參數配置,是不能修改這個用戶的:解決方法:在windows用戶和組的管理中,把當前用戶修改成hadoop組grid用戶。但我的機器系統是win7家庭版,打不開用戶和組管理:不能已,用另一種方案:windows上新建一個grid用戶,然後再打開Eclipse,創建工程,進行以上的配置DFSLoactioins發現這時,在Eclipse中可以列出目錄,新建文件夾,上傳文件了。(或者修改hadoop集群上文件夾的許可權,如:bin/hadoopfs-chmod777./in,下圖第2個文件是修改hadoop集群文件平許可權後上傳的)
『陸』 hadoopeclipse的插件怎麼安裝
1.插件安裝
在$HADOOP_HOME/contrib/eclipse-plugin/文件夾中有個hadoop-eclipse-plugin-0.20.203.0.jar,把這個文件復制到eclipse/plugins(這是eclipse的插件目錄)下面即可。
注意在直接復制時會出錯,主要是缺少jar包。
解決方法:(1)將commons-httpclient-3.0.1.jar,jackson-core-asl-1.0.1.jar,jackson-mapper-asl-1.0.1.jar,commons-configuration-1.6.jar,lcommons-lang-2.4.jar(這幾個jar包在$HADOOP_HOME/lib/下找到)放入hadoop-0.20.203.0-eclipse-plugin的lib下
(2)修改hadoop-0.20.203.0-eclipse-plugin/META-INF/MANIFEST.MF 中的Bundle-ClassPath項
1
Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.0.1.jar,lib/jackson-mapper-asl-1.0.1.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar
2.環境配置
啟動Eclipse,然後在Window->Preferences->Hadoop Map/Rece中添加Hadoop的安裝目錄
配置hadoop環境:在Window–>Show View中打開Map/Rece Locations,在底部會看到新的選項。然後右鍵–>New Hadoop Location,
Location name是你自己取的名字,我這里用了hadoop,Map/Rece Master這里的host和port對應上面mapred-site.xml中mapred.job.tracker的值,我配置的是localhost和9001;DFS Master對應上面core-site.xml中fs.default.name中的值,我配置的是localhost和9000.
完成後,如果屏幕左上方的DFS Locations中的內容可以正常顯示,說明配置一切成功。
3.運行wordcount
使用Eclipse編寫Hadoop的程序了,按該方式創建File->New->Project->Map/Rece Project.命名為hadoop-test。
將hadoop-0.20.203.0/src/examples/org/apache/hadoop/examples下的wordcount.java復制到當前項目中。
注意:要在src中看到WordCount.java文件,如果已經復制過來還看不到,在hadoop-test上右擊選擇refresh試一試。
另外,直接復制過來的文件,第一行要注釋掉 //package org.apache.hadoop.examples;
在Run configuration/Java Application/WordCount下進行程序參數設置
input為又本地導入HDFS得輸入文件,其中包含兩個文本文件,file01和file02
完成後,使用 Run As/Run on Hadoop運行~~~~
在HDFS系統視圖下可以看到剛才得運行結果
中途碰到得問題:裝得時候不知道怎麼回事,項目側邊欄(Project explorer)看不見了。或者側邊欄是Package explorer,這種情況下是看不見DFS Locations的,應該在菜單欄
Window/Open pespective/<Map/Rece>。然後就能看到HDFS文件系統已經所創建得一些項目。
『柒』 如何在windows下安裝Eclipse Hadoop插件
在windows下安裝EclipseHadoop插件主要安裝編譯Eclipse-hadoop插件即可。1、配置環境變數:把下載好的hadoop-2.5.2解壓到D盤的根目錄下,然後計算機==》屬性==》高級系統設置==》環境變數2、把hadoop-eclipse-plugin-2.6.0.jar放到eclipse==》plugins目錄下面,重啟Eclipse,打開Window==》Preferences,能夠看到HadoopMap/Rece就是插件安裝成功,下面指定Hadoop的安裝目錄即第一步設定的HADOOP_HOME。3、新建Map/ReceProject工程4、輸入工程名稱,然後點擊Finish按鈕可以看到如下圖所示,可以看到有新建的工程還有自動生成的DFSLocations,此時點擊DFSLocations什麼都不會看到,因為還沒有配置其相應的HDFS:5、顯示Hadoop的Map/ReceLocations視圖,配置HadoopLocationsWindow==》ShowView==》Other,找到Map/ReceTools下的Map/ReceLocations,並點擊ok。設置下面幾個參數:
『捌』 編譯hadoop eclipse插件要聯網么
這里用到的hadoop版本是1.1.2,但此插件的編譯方面在1.2.0下也通過。)
1)hadoop的eclipse插件源碼位於hadoop.home(這里的hadoop.home為你的hadoop主目錄)/src/contrib/eclipse-plugin。
ant不外乎是一個build.xml,我們先拿它開刀。
我們找到<target name="jar",裡面的元素<相關的先全部刪了,然後添加如下的,當然,這里的hadoop-core-XXX.jar,這個XXX是版本號,請根據你下載的hadoop的版本進行設置,也可以在後面的build-contrib.xml中進行設置,這里用變數進行替換,等一下我們再看。
< file="${hadoop.root}/hadoop-core-1.1.2.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
< file="${hadoop.root}/lib/commons-cli-1.2.jar" todir="${build.dir}/lib" verbose="true"/>
< file="${hadoop.root}/lib/commons-configuration-1.6.jar" tofile="${build.dir}/lib/commons-configuration-1.6.jar" verbose="true"/>
< file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" tofile="${build.dir}/lib/commons-httpclient-3.0.1.jar" verbose="true"/>
< file="${hadoop.root}/lib/commons-lang-2.4.jar" tofile="${build.dir}/lib/commons-lang-2.4.jar" verbose="true"/>
< file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-core-asl-1.8.8.jar" verbose="true"/>
< file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" tofile="${build.dir}/lib/jackson-mapper-asl-1.8.8.jar" verbose="true"/>
網上很多文章都說只要這一步就OK了,但實驗證明,我們編譯的時候會出現找不到類的情況,主要是沒有載入那些JAR包。
2)添加JAR包到classpath
還是build.xml文件中,我們找到<path id="classpath">
在其末尾加上:
<fileset dir="${hadoop.root}">
<include name="*.jar"/>
</fileset>
這里把hadoop根目錄下的所有JAR包加入到classpath,至於這里為什麼要加,我沒怎麼用Ant,就留給有興趣的朋友去研究了。
3)改完上面的,當我們在編譯的時候,那些需要的JAR包並沒有同時添加到生成的JAR內,這樣會有錯誤,所以我們要修改MANIFIEST.MF文件,相信搞過可運行JAR包的朋友都清楚這個文件用一個JAR來說是多麼的重要。
在同級目錄下找到META-INF/MANIFEST.MF,找到Bundle-ClassPath:,然後添加如下:
classes/,lib/hadoop-core.jar,lib/commons-configuration-1.6.jar,lib/commons-httpclient-3.0.1.jar,lib/commons-lang-2.4.jar,lib/jackson-core-asl-1.8.8.jar,lib/commons-cli-1.2.jar
注意,這一大段不要換行,否則在生成JAR包時會報錯。
4)加完這些,可以說實際上編譯就已經OK了,但我們需要跟特定的eclipse相結合,所以我們需要配置eclipse的路徑,回到我們剛才build.xml文件的上層文件夾,也就是hadoop.home/src/contrib文件夾下。
找到build-contrib.xml文件,找到project,在property最前面加多一個:
<property name="eclipse.home" value="D:/developerTools/eclipse/eclipse" />
這里的D:/xxx是我的eclipse安裝路徑,注意,需要把原來windows下的\換成linux樣式的/,否則會有問題的。
接下來就開始我們正式的編譯工作了,假設ant那些我們都配置好了,已經在path中了,並且ant版本高於1.7.2(建議下最新的),然後我們直接在cmd下執行:
可以看到這樣的結果:
這里已經生成成功了,接下來我們就可以到hadoop.home/build/contrib/eclipse-plugin下找到hadoop-eclipse-plugin-${version}.jar這樣的一個文件,${version}是什麼來的?
這里就涉及到一個前面說的版本變數的問題,我們在build-contrib.xml的eclipse.home下面添加一個:
<property name="version" value="1.1.2" />
這里的版本號請根據你自己下的版本來填,填好後,我們再生成後,就可以看到hadoop-eclipse-plugin-1.1.2.jar這樣的一個JAR包,這個版本號根據你設的version值來生成的。
我在另外一台電腦編譯時,遇到了報找不到log4j配置文件的錯誤,類似什麼master之類的,如果遇到類似這樣的錯誤,錯誤如下:
可以嘗試修改ivy.xml,把裡面的dependency裡面的conf裡面的master修改為default,一般就可以解決了,這個暫時沒發現是什麼造成的,遇到類似的問題就可以找找ivy.xml裡面的問題。
編譯完成後,我們把hadoop-eclipse-plugin-XXX.jar包丟進eclipse的plugins目錄下,然後重啟eclipse就OK了,啟動後就可以看到Map/Rece窗口了,這也方便我們運行WordCount等例子。
『玖』 如何編譯hadoop-eclipse-plugin插件
1.編譯hadoop2.6.0的eclipse插件
編譯源碼:
cd src/contrib/eclipse-plugin
ant jar -Dversion=2.6.0 -Declipse.home=/opt/eclipse -Dhadoop.home=/opt/hadoop-2.6.0
eclipse.home 和 hadoop.home 設置成你自己的環境路徑
命令行執行編譯,產生了8個警告信息,直接忽略。
compile:
[echo] contrib: eclipse-plugin
[javac] /software/hadoop2x-eclipse-plugin/src/contrib/eclipse-plugin/build.xml:76: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 45 source files to /software/hadoop2x-eclipse-plugin/build/contrib/eclipse-plugin/classes
[javac] /opt/hadoop-2.6.0/share/hadoop/common/hadoop-common-2.6.0.jar(org/apache/hadoop/fs/Path.class): warning: Cannot find annotation method 'value()' in type 'LimitedPrivate': class file for org.apache.hadoop.classification.InterfaceAudience not found
[javac] /opt/hadoop-2.6.0/share/hadoop/hdfs/hadoop-hdfs-
『拾』 有沒有自帶hadoop插件的eclipse,Linux版本的
沒有,hadoop-eclipse-plugin插件是自己編譯的,網上也有別人編譯好的插件,好多因為和自己的版本不一樣,而不能用。