<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Hadoop2 自己動(dòng)手編譯Hadoop的eclipse插件

      前言:

            畢業(yè)兩年了,之前的工作一直沒有接觸過大數(shù)據(jù)的東西,對hadoop等比較陌生,所以最近開始學(xué)習(xí)了。對于我這樣第一次學(xué)的人,過程還是充滿了很多疑惑和不解的,不過我采取的策略是還是先讓環(huán)境跑起來,然后在能用的基礎(chǔ)上在多想想為什么。

            通過這三個(gè)禮拜(基本上就是周六周日,其他時(shí)間都在加班啊T T)的探索,我目前主要完成的是:

        1.在Linux環(huán)境中偽分布式部署hadoop(SSH免登陸),運(yùn)行WordCount實(shí)例成功。 http://www.rzrgm.cn/PurpleDream/p/4009070.html 

            2.自己打包hadoop在eclipse中的插件。  http://www.rzrgm.cn/PurpleDream/p/4014751.html 

            3.在eclipse中訪問hadoop運(yùn)行WordCount成功。  http://www.rzrgm.cn/PurpleDream/p/4021191.html 

            所以我下邊會(huì)分三次記錄下我的過程,為自己以后查閱方便,要是能幫助到其他人,自然是更好了!

       

      ===============================================================長長的分割線====================================================================

      正文:

            如果你想在eclipse中安裝hadoop的插件,一個(gè)很重要的問題就是hadoop的版本與eclipse版本的匹配問題,如果不匹配,可能會(huì)導(dǎo)致很多問題。

            綜上,我在完成了在Linux的CentOS系統(tǒng)中安裝hadoop并簡單運(yùn)行WordCount之后(具體參看本文前言中的博客鏈接),將學(xué)習(xí)的重點(diǎn)放到了hadoop的eclipse插件上。其實(shí)網(wǎng)上也有部分文章在介紹如何編寫插件,但是由于我的eclispe版本是Juno,而之前在CentOS安裝的是hadoop-1.0.1,所以沒有找到完全匹配的成功案例。所以最終決定自己也動(dòng)手變異一個(gè)自己的hadoop插件。

            在有了這個(gè)想法之后,一開始會(huì)覺得特別困難,但是在真正去做之后,會(huì)發(fā)現(xiàn)很多問題其實(shí)還是可以解決的,只要你懂得如果使用百度和谷歌,多參考一下別人的文章,汲取精華,最終一定會(huì)成功的。

            

            第一步,確定大致流程:

         1.首先我需要ant編譯,然后就是hadoop-1.0.1.tar.gz這個(gè)安裝包,還有就是eclipse。

             2.針對我自己的環(huán)境,電腦是Win7,eclispe是Juno,下載了hadoop-1.0.1.tar.gz,就差ant之前沒有安裝。

            

            第二步,安裝ant:

         1.我參考的是這篇文章http://blog.csdn.net/yang382197207/article/details/10185251,我當(dāng)時(shí)下載的是apache-ant-1.9.4,其他的步驟按照這篇文章介紹的配置就會(huì)成功。

           

            第三步,在正式建立項(xiàng)目之前,我在介紹下我的環(huán)境: OS: windows 7,  Eclipse: Juno,  JDK: 1.6.0_43,  Hadoop: 1.0.1

            1.首先在Eclipse中新建一個(gè)Java項(xiàng)目,名字叫hadoop-1.0.1-eclipse-plugin,其實(shí)這個(gè)名字你可以隨意的。

            2.解壓hadoop-1.0.1.tar.gz,在解壓后的目錄中(我的是D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1),依次將下面的文件放到項(xiàng)目中:

               (1).將\hadoop-1.0.1\src\contrib\eclipse-plugin里面的所有文件以及\hadoop-1.0.1\src\contrib\build-contrib.xml拖拽到項(xiàng)目中

               (2).將根目錄\hadoop-1.0.1里的所有.jar文件拖拽到eclipse項(xiàng)目中bin目錄下。

            3.打開項(xiàng)目中的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的版本號"/>

               可以參考我的配置,如圖:

      <property name="name" value="${ant.project.name}"/>
      <property name="root" value="${basedir}"/>
      <property name="hadoop.root" location="D:/SettingUp/ITSettingUp/Hadoop/hadoop-1.0/hadoop-1.0.1"/>
      <property name="eclipse.home" location="D:/HaveSetted/ITHaveSetted/Eclipse"/>  
      <property name="version" value="1.0.1"/>  

            4.打開項(xiàng)目中的build.xml,做如下的配置:

               (1).將文件開頭的 <import file="../build-contrib.xml"/> 修改為 <import file="build-contrib.xml"/>

               (2).在<javac...>里如下圖加入includeantruntime="on",效果如下:

      <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}"
           deprecation="${javac.deprecation}"
           includeantruntime="on">
           <classpath refid="classpath"/>
          </javac>
      </target>

                (3).在<path id="classpath">中添加:<path refid="hadoop-jars"/>,效果如下:

      <!-- Override classpath to include Eclipse SDK jars -->
      <path id="classpath">
          <pathelement location="${build.classes}"/>
          <pathelement location="${hadoop.root}/build/classes"/>
          <path refid="eclipse-sdk-jars"/>
          <path refid="hadoop-jars"/>
      </path>

                 (4).在<target name="jar" depends="compile" unless="skip.contrib">這個(gè)標(biāo)簽里,在<copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar"  todir="${build.dir}/lib" verbose="true"/>這個(gè)配置的下面添加如下幾個(gè)jar包的配置:

      <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar"  todir="${build.dir}/lib" verbose="true"/>
      <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar"  todir="${build.dir}/lib" verbose="true"/>
      <copy file="${hadoop.root}/lib/commons-lang-2.4.jar"  todir="${build.dir}/lib" verbose="true"/>
      <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>
      <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>

                  最終效果如圖:

      <!-- Override jar target to specify manifest -->
        <target name="jar" depends="compile" unless="skip.contrib">
          <mkdir dir="${build.dir}/lib"/>
          <copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core-1.0.1.jar" verbose="true"/>
          <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
          
          <copy file="${hadoop.root}/lib/commons-configuration-1.6.jar"  todir="${build.dir}/lib" verbose="true"/>
          <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar"  todir="${build.dir}/lib" verbose="true"/>
          <copy file="${hadoop.root}/lib/commons-lang-2.4.jar"  todir="${build.dir}/lib" verbose="true"/>
          <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>
          <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>
            
          <jar
            jarfile="${build.dir}/hadoop-${name}-${version}.jar"
            manifest="${root}/META-INF/MANIFEST.MF">
            <fileset dir="${build.dir}" includes="classes/ lib/"/>
            <fileset dir="${root}" includes="resources/ plugin.xml"/>
          </jar>
      </target>

                (5).在文件末尾</project>標(biāo)簽之前添加配置:

      <path id="hadoop-jars">  
           <fileset dir="${hadoop.root}/">  
               <include name="hadoop-*.jar"/>  
           </fileset>   
      </path>

            5.打開hadoop-1.0.1的解壓縮目錄(我的是D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1),復(fù)制兩個(gè)jar包到對應(yīng)的目錄文件夾,以我的文件目錄結(jié)構(gòu)舉例如下:

               (1).將D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\hadoop-core-1.0.1.jar 復(fù)制到D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\build\這個(gè)文件夾中

               (2).將D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\lib\commons-cli-1.2.jar復(fù)制到D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\build\ivy\lib\Hadoop\common這個(gè)文件夾中

            6.再回到eclipse,打開項(xiàng)目中的\META-INF\MANIFEST.MF文件,做如下的添加:

      Bundle-ClassPath: classes/,
       lib/hadoop-core-1.0.1.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/jackson-core-asl-1.8.8.jar,  
       lib/jackson-mapper-asl-1.8.8.ja, 

            7.經(jīng)過上邊的配置,基本已經(jīng)完成,我們可以編譯項(xiàng)目了。右擊build.xml文件選擇 Run As Ant Build,編譯成功,生成的hadoop-1.0.1-eclipse-plugin.jar在hadoop-1.0.1解壓目錄的\build\contrib\eclipse-plugin文件夾里面。

            

            第四步,當(dāng)然就是在eclipse中配置我們編譯好的插件。

            1.把hadoop-1.0.1-eclipse-plugin.jar文件放到eclipse安裝目錄的plugins中,重啟eclipse。重啟后,會(huì)在Window->Open Perspective->Other里,看到大象圖標(biāo)的Map/Reduce出現(xiàn),或者是window->Preferences中看到Hadoop Map/Reduce這個(gè)選項(xiàng)。

            2.window->Preferences中點(diǎn)擊Hadoop Map/Reduce這個(gè)選項(xiàng),將Hadoop的那個(gè)解壓縮目錄(我的是D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1)的路徑配置上,配置效果圖如下:

           

            3.然后我們在Window->Open Perspective->Other里,點(diǎn)擊Map/Reduce,切換到這個(gè)模式,截圖如下:

              

            4.切換到Map/Reduce模式后,我們看到畫面(4)中的截圖,點(diǎn)擊右下角的兩個(gè)小圖標(biāo),測試有沒有反應(yīng),如果有反應(yīng),暫時(shí)先別配置,這個(gè)我下篇博客會(huì)具體講。如果怎么點(diǎn)都沒有反應(yīng),則可以做如下操作:

               (1).打開項(xiàng)目中的\META-INF\MANIFEST.MF文件,找到之前編譯時(shí),添加的Bundle-ClassPath: classes/  這個(gè)位置,之前我們添加了7個(gè)jar包的配置,再增加四個(gè),如下:

       lib/hadoop-common-0.21.0.jar,
       lib/hadoop-hdfs-0.21.0.jar,
       lib/log4j-1.2.15.jar,
       lib/hadoop-mapred-0.21.0.jar

               (2).然后我們還需要去網(wǎng)上下載這四個(gè)jar包放到下面的文件夾中,以我的目錄舉例:D:\SettingUp\ITSettingUp\Hadoop\hadoop-1.0\hadoop-1.0.1\lib。

               (3).然后在重新編譯即可,在替換原來的插件時(shí),在重啟eclipse的過程中,你可以這樣做:先刪除原來的插件,原來重啟eclipse,確認(rèn)Map/Reduce沒了;然后再關(guān)掉eclipse,將新的插件放到plugins里,之后再次啟動(dòng)eclipse。解決這個(gè)問題時(shí)我在網(wǎng)上參考的文章是:http://blog.csdn.net/kky2010_110/article/details/7774747,大家也可以看看~。

               (4).上邊所提到的截圖如下:

              

           

            經(jīng)過上邊說的這些步驟,eclipse中的hadoop插件我們算是編譯完了,這個(gè)過程中一定要注意的是,不要怕失敗,多嘗試,因?yàn)閔adoop版本與eclipse版本是有關(guān)系的,所以導(dǎo)致你的版本和我的不太一致,可能會(huì)失敗,但是也可能會(huì)成功。所以在這里再次提醒,注意文章開始,我對自己的環(huán)境的版本的介紹,尤其是eclipse和hadoop的版本。建議大家如果有時(shí)間的話,可以先不管版本,按照我的步驟先走一遍,如果實(shí)在是不成功的話,則可以找個(gè)和我一樣的eclipse和hadoop版本,再體驗(yàn)一回。因?yàn)椋以谶@個(gè)過程中,就發(fā)現(xiàn),由于是第一次學(xué)hadoop,不見到成功的效果,總覺得少點(diǎn)什么,總想見識(shí)一下,莫取笑哈~

           至于下一步,如果配置Location和運(yùn)行WordCount,我會(huì)在下一篇博客中具體說明,謝謝支持,覺得文章還不錯(cuò)的話,多多點(diǎn)贊,多多留言哈,這將使我充滿動(dòng)力!

            

      posted on 2014-10-12 14:05  Sky_YiBai  閱讀(4927)  評論(2)    收藏  舉報(bào)

      主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠色综合网 | 在线看国产精品自拍内射| 国产一精品一av一免费爽爽| 亚洲国产高清精品线久久| 国产精品中文字幕在线| 老司机亚洲精品一区二区| 一本色道久久综合亚洲精品| 亚洲日本欧美日韩中文字幕| 亚洲 欧美 综合 另类 中字| 欧美粗大| 国产精品中文字幕av| 老熟妇乱子交视频一区| 久久99精品国产99久久6尤物| 国产综合精品91老熟女| 亚洲熟妇色xxxxx亚洲| 国产免费无遮挡吃奶视频| 四虎女优在线视频免费看| 亚洲国产精品久久久久婷婷图片| 日韩国产精品一区二区av| 日本熟妇XXXX潮喷视频| 亚洲日韩乱码一区二区三区四区| 欧美精欧美乱码一二三四区 | 青青草国产精品日韩欧美| 亚洲国产天堂一区二区三区| 91老肥熟女九色老女人| 四虎永久精品在线视频| 扒开女人内裤猛进猛出免费视频| 国产精品一区二区三区日韩| 日韩免费无码视频一区二区三区| 无码国内精品久久人妻蜜桃| 亚洲国产婷婷综合在线精品| 亚洲国产午夜福利精品| 自治县| 91偷自国产一区二区三区| 日韩中文字幕人妻一区| 搜索| 亚洲成A人片在线观看无码不卡| 美女自卫慰黄网站| 蜜桃无码一区二区三区| 亚洲偷自拍国综合| 久青草国产综合视频在线|