一、所需工具
eclipse-java-juno-SR1-win32.zip jdk-6u37-linux-x64.bin apache-ant-1.8.4-bin.zip hadoop-1.0.4二、Ant安裝 將Ant解壓放在合適目錄:比如D盤。 配置Ant環境變數,在Path中添加:F:\hadoop\ant\bin。 控制台中輸入echo %PAHT% 使環境變數生效。(沒必要重啟)三、編譯hadoop-eclipse-plugins-1.0.4.jar 1、解壓hadoop 目錄為 F:\hadoop\hadoop-1.0.4 2、進入F:\hadoop\hadoop-1.0.4\src\contrib目錄。將build-contrib.xml複製到 F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin目錄下。 3、修改build-contrib.xml檔案 將hadoop.root改為hadoop解壓目錄 <property name=”hadoop.root” location=”F:/hadoop/hadoop-1.0.4″/> 在下面添加如下兩行:Eclipse安裝根目錄,和hadoop版本 <property name=”eclipse.home” location=”E:/software/deploymentTool/eclipse”/> <property name=”version” value=”1.0.4″/> 具體位置需要改為你的,注意location裡的斜杠方向 4、修改build.xml:找到<import file="../build-contrib.xml"/>,改為<import file="build-contrib.xml"/> 5、在F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin 目錄下建立lib目錄,並將以下jar包複製進來: commons-configuration-1.6.jar、commons-httpclient-3.0.1.jar、commons-lang-2.4.jar、jackson-core-asl-1.8.8.jar、 jackson-mapper-asl-1.8.8.jar 6、在F:\hadoop\hadoop-1.0.4下建立build檔案夾,將hadoop-core-1.0.4.jar複製進來 最近因為windows許可權問題搞了好久的外掛程式問題,像0700BUG許可權認證問題。
ERROR security.UserGroupInformation:PriviledgedActionException as:admin cause:java.io.IOException:Failed to set permissions of path:\home\hadoop\hadoop-1.0.4\data\data\mapred\staging\admin1107758487\.staging to 0700Execption in threa "main" java.io.IOException:Failed to set permissions of path:\home\hadoop\hadoop-1.0.4\data\data\mapred\staging\admin1107758487\.staging to 0700 at org.apache.hadoop.fs.FileUtil.checkRetrunVlues(FileUtil.java:682)at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java.655)
這邊要解決0007問題,hadoop-core-1.0.4.jar要覆蓋掉裡面的FileUtil的class檔案,再打包一個,這裡提供一個我的解決0007問題的hadoop-core-1.0.4.jar 包。先把之前的hadoop-core-1.0.4.jar修改為hadoop-core-1.0.4.jar_back,然後再把我這邊提供的hadoop-core-1.0.4.jar放到hadoop目錄下,然後拷貝這個hadoop-core-1.0.4.jar進build的目錄。 :解決0700的 eclipse 外掛程式 http://download.csdn.net/detail/weijonathan/4919830解決0700的hadoop-core-1.0.4.jar
http://download.csdn.net/detail/weijonathan/4919824 7、在F:\hadoop\hadoop-1.0.4\build目錄下建立F:\hadoop\hadoop-1.0.4\build\ivy\lib\Hadoop\common目錄並將 commons-cli- 1.2.jar複製到該目錄下 8、修改build.xml檔案。目錄:F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin 1)、在<target name=”jar” depends=”compile” unless=”skip.contrib”>標籤底下的
<copy file=”${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar” todir=”${build.dir}/lib” verbose=”true”/>後面添加一下行 <copy file=”${root}/lib/commons-configuration-1.6.jar” todir=”${build.dir}/lib” verbose=”true”/> <copy file=”${root}/lib/commons-httpclient-3.0.1.jar” todir=”${build.dir}/lib” verbose=”true”/> <copy file=”${root}/lib/commons-lang-2.4.jar” todir=”${build.dir}/lib” verbose=”true”/> <copy file=”${root}/lib/jackson-core-asl-1.8.8.jar” todir=”${build.dir}/lib” verbose=”true”/> <copy file=”${root}/lib/jackson-mapper-asl-1.8.8.jar” todir=”${build.dir}/lib” verbose=”true”/>
2)、在<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib">標籤中的<javac>標籤中添加屬性includeantruntime --防止編譯過程中提示includeantruntime 屬性未設定問題
<target name="compile" depends="init, ivy-retrieve-common" unless="skip.contrib"> <echo message="contrib: ${name}"/> <javac encoding="${build.encoding}" srcdir="${src.dir}" includes="**/*.java" destdir="${build.classes}" debug="${javac.debug}" includeantruntime="on"> <classpath refid="classpath"/> </javac> </target>
3)、在build.xml中添加-防止問題 編譯錯誤,提示“軟體包org.apache.hadoop.fs 不存在“
<path id="hadoop-jars"> <fileset dir="${hadoop.root}/"> <include name="hadoop-*.jar"/> </fileset> </path>
在<path id="classpath">中添加:<path refid="hadoop-jars"/>
4)、修改F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin\META-INF的MANIFEST.MF檔案
Bundle-ClassPath: classes/, lib/hadoop-core.jar, lib/commons-cli-1.2.jar, lib/commons-configuration-1.6.jar, lib/commons-httpclient-3.0.1.jar, lib/commons-lang-2.4.jar, lib/commons-jackson-core-asl-1.8.8.jar, lib/commons-jackson-mapper-asl-1.8.8.jar
5)、進入F:\hadoop\hadoop-1.0.4\src\contrib\eclipse-plugin目錄下,執行ant命令就可以了!編譯結果放在F:\hadoop\hadoop-1.0.4\build\contrib\eclipse-plugin目錄下。
四、eclipse hadoop外掛程式安裝
將編譯好的eclipse外掛程式放入eclipse的dropins目錄中,重啟eclipse就OK了!
五、 配置eclipse外掛程式。
1、開啟eclipse,開啟map/Reduce Locations
2、右鍵New Hadoop Location...,輸入Location Name(這個可以隨意輸入),修改Map/Reduce Master和DFS Master
User name設定你啟動hadoop的名稱。
3、點到Advanced parameters
修改hadoop.tmp.dir修改為你hadoop叢集中設定的目錄。
修改 dfs.permissions.supergroup為hadoop,hadoop
修改dfs.replication 為你hdfs-site.xml檔案中配置的值
4、重啟eclipse,之後你會發現其他參數eclipse自動幫你連網載入上去了!