hadoop1.0.4 eclipse外掛程式編譯

來源:互聯網
上載者:User

一、所需工具

     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自動幫你連網載入上去了!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.