首页 > 代码库 > Eclipse 导入 Hadoop 源码

Eclipse 导入 Hadoop 源码

1.准备工作

  • jdk:
  • eclipse:
  • Maven:
  • libprotoc :https://developers.google.com/protocol-buffers/
  • hadoop:http://www.apache.org/dyn/closer.cgi/hadoop/common/

 

添加开源中国maven库:http://maven.oschina.net/home.html

maven\conf\settings.xml

<localRepository>path</localRepository>

<localRepository>path</localRepository>
<
mirrors> <mirror> <id>nexus-osc</id> <mirrorOf>*</mirrorOf> <name>Nexus osc</name> <url>http://maven.oschina.net/content/groups/public/</url> </mirror> </mirrors>

 

2.导入

  1. 将hadoop源码解压到一个目录,注意目录层次不要太深,否则可能无法解压。
  2. 进入hadoop-maven-plugins文件夹,执行 mvn install 
  3. 返回源码根目录,执行 mvn eclipse:eclipse –DskipTests 
  4. eclipse在任意目录创建新的WorkSpace
  5. eclipse设置Maven:window->preference->maven->{Installations...;user Settings:maven\conf\settings.xml}
  6. eclipse:File->inport->Existing Projects into WorkSpace->Hadoop源码根目录

3.错误处理

  1. maven下载pom失败->重新操作
  2. hadoop-streaming中build path错误->Java Build Path->Source:
    1. 删除...hadoop-yarn-server-resourcemanager/conf
    2. Link Source:源码根目录/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/conf,再随便起个名字;inclusion patterns:capacity-scheduler.xml;exclusion patters:**/*.java
  3. org.apache.hadoop.io.serializer.avro.TestAvroSerialization
    1. 下载avro-tools-1.7.4.jar:http://archive.apache.org/dist/avro/avro-1.7.4/java/
    2. 进入目录:源码根目录\hadoop-common-project\hadoop-common\src\test\avro
    3. java -jar path/to/avro-tools-1.7.4.jar compile schema avroRecord.avsc ..\java
    4. eclipse 刷新
  4. org.apache.hadoop.ipc.protobuf.TestProtos
    1. 进入目录:源码根目录\hadoop-common-project\hadoop-common\src\test\proto
    2. protoc --java_out=../java *.proto
    3. eclipse 刷新
  5. project->clean..->clean all projects & Build the entire workspace