hadoop----eclipse導入hadoop源碼

  • 首先保證已經安裝 
    jdk ; maven ; protoc(不然編譯源碼報錯下載地址) ; eclipse m2e插件

  • 設置maven鏡像 
    maven\conf\settings.xml

<mirrors>
    <mirror>
        <id>nexus-osc</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus osc</name>
        <url>http://maven.oschina.net/content/groups/public/</url>
    </mirror>
</mirrors>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 導入eclipse 
    下載源代碼代碼 解壓 (注意解壓路徑名不要過長)

    進入hadoop-maven-plugins目錄 執行 mvn install 
    返回代碼根目錄 執行 mvn eclipse:eclipse –DskipTests

    進入eclipse window 首選項 maven usersetting 
    選擇配置文件D:\apache-maven-3.3.3\conf\settings.xml

    選擇file import from existing maven project ->選擇源碼目錄

  • 錯誤處理 
    導入之後出現了100多個問題 現在按類別處理一下: 
    1、org.apache.hadoop.io.serializer.avro.TestAvroSerialization 
    下載 avro-tools-1.7.4.jar 
    進入目錄\hadoop-common-project\hadoop-common\src\test\avro 
    執行 java -jar 下載目錄/avro-tools-1.7.4.jar compile schema avroRecord.avsc ..\java(輸出目錄)

    2、protobuf錯誤 
    進入目錄\hadoop-common-project\hadoop-common\src\test\proto執行 protoc --java_out=../java *.

    3、Maven Project Build Lifecycle Mapping Proble Plugin execution not covered by lifecycle configuration: org.apache.hadoop:hadoop-maven-plugins:2.6.0:protoc 
    引用1 
    這個問題是由於m2e插件 在讀取pom時識別標籤時出錯,插件對一些pom標籤(pluginManagement/>)的定義格式有要求(好蛋疼)。。。。 
    在問題窗口選中問題 Ctrl+1 quickfix 
    選擇Permanently mark goal generate in pom.xml as ignored in Eclipse build 
    在彈出窗口選擇最下層目錄的文件夾 選擇 
    全部處理之後 問題 提示 
    Projct configuration is not up-to-date with pom.xml. Run project configuration update 
    選擇 quickfix ->Update project configuration->OK 
    錯誤提示消失 這時可以比較pom.xml的先後改動

    4、hadoop-streaming中build path錯誤->Java Build Path->Source: 
    刪除…hadoop-yarn-server-resourcemanager/conf 
    Link Source:源碼根目錄/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/conf,再隨便起個名字; 
    下一步 inclusion patterns:capacity-scheduler.xml; 
    exclusion patters:**/*.java

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章