hadoop源码导入到eclipse

1.版本说明


操作系统:ubantu16.04.1 Desktop
hadoop:hadoop-2.7.3-src
eclipse:java-neon
其他需要安装软件说明:
jdk1.8    maven3.0.5   ProtocalBuffer-2.5.0
安装教程请参考我的另一篇博客:http://blog.csdn.net/blue_it/article/details/54133407

2.导入前准备


将hadoop-2.7.3-src.tar.gz解压到eclipse的workspace目录,如下图:
hadoop源码导入到eclipse_第1张图片
cd进入hadoop-2.7.3-src/hadoop-maven-plugins/目录,输入如下命令:
mvn install
如下图:

执行成功会提示如下信息:
hadoop源码导入到eclipse_第2张图片

cd 进入hadoop-2.7.3-src目录,输入如下命令:
mvn eclipse:eclipse -DskipTests
执行完成会提示build success。

3 导入


打开eclipse,点击File ---> Import --->Existing Maven Projects
hadoop源码导入到eclipse_第3张图片
点击,找到workspace下的hadoop-2.7.3-src文件夹,选中,点击finish,即开始导入hadoop源码
hadoop源码导入到eclipse_第4张图片

导入过程中会弹出对话框选择Resolve all later,然后点击finish即完成项目的导入。

4 错误处理


源码导入后,会看到大概有五十多个项目,其中部分出现红叉,有一个出现红色感叹号。红叉大概有两类原因引起,pom.xml错误和类库无法找到,红色感叹号由资源文件未找到引起。
  • 解决pom.xml错误
在eclipse菜单栏选取Windows ---> Preferences ---> Maven ---> Lifecycle Mappings,如下图:
hadoop源码导入到eclipse_第5张图片

点击Open Workspace Lifecycle Mappings Metadata,即可看到eclipse中打开了lifecycle-mappings-metadata.xml文件,关闭Prefences窗口,编辑lifecycle-mappings-metadata.xml文件,将如下xml内容,复制到lifecycle-mappings-metadata.xml中对原来的文件内容进行覆盖。


  
    
      
        org.apache.maven.plugins
        maven-antrun-plugin
        1.7
        
          run
        
      
      
        
      
    
    
      
        org.apache.maven.plugins
        maven-jar-plugin
        2.5
        
          jar
          test-jar
        
      
      
        
      
    
    
      
        org.apache.maven.plugins
        maven-plugin-plugin
        3.4
        
          descriptor
        
      
      
        
      
    
  
  	
      
        org.apache.hadoop
        hadoop-maven-plugins
        2.7.3
        
          protoc
          version-info       
        
      
      
        
      
    
    
    
      
        org.apache.maven.plugins
        maven-remote-resources-plugin
        1.5
        
          bundle
        
      
      
        
      
    
    
      
        org.apache.hadoop
        hadoop-maven-plugins
        1.5
        
          bundle
        
      
      
        
      
    
    
      
        org.apache.avro
        avro-maven-plugin
        1.7.4
        
          schema
          protocol
        
      
      
        
      
    
  

编辑文件完成后,保存,再次打开Windows ---> Preferences ---> Maven ---> Lifecycle Mappings,一次点击Rload Workspace Lifecycle Mappings Metadata、 Apply、 OK。

在eclipse中点开每个项目,凡是pom.xml文件出现红叉的,选中该项目名称,右键在弹出的菜单中选取
hadoop源码导入到eclipse_第6张图片
选择Update Project …即可修正pom.xml出现红叉的错误。

  • 解决红叉错误: org.apache.hadoop.ipc.protobuf.xxxx找不到错误
进入hadoop-2.7.3-src/hadoop-common-project/hadoop-common/src/test/proto目录
在命令行中输入如下命令:
protoc --java_out=../java *.proto
hadoop源码导入到eclipse_第7张图片
执行完成后,选中项目,F5刷新项目,即可解决错误。
  • 解决红叉错误:AvroRecord cannot be resolved to a type TestAvroSerialization.java
下载下载 avro-tools-1.7.4.jar,放在hadoop-2.7.3-src/hadoop-common-project/hadoop-common/src/test/avro/目录下
然后执行下述命令:
java -jar avro-tools-1.7.4.jar compile schema avroRecord.avsc ../java
hadoop源码导入到eclipse_第8张图片

执行完成后,选中项目,F5刷新项目,即可解决错误。
  • 解决红色感叹号:Project 'hadoop-streaming' is missing required source……
 选定项目右键,properties->Java Build Path->Source->选定带红叉的项->Remove,然后关闭窗口即可。

hadoop源码导入到eclipse_第9张图片




你可能感兴趣的:(hadoop学习笔记,云计算)