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>
<mirrors>
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>
</mirrors>
2.導入
將hadoop源碼解壓到一個目錄,注意目錄層次不要太深,否則可能無法解壓。
進入hadoop-maven-plugins文件夾,執行 mvn install
返回源碼根目錄,執行 mvn eclipse:eclipse –DskipTests
eclipse在任意目錄創建新的WorkSpace
eclipse設置Maven:window->preference->maven->{Installations...;user Settings:maven\conf\settings.xml}
eclipse:File->inport->Existing Projects into WorkSpace->Hadoop源碼根目錄
3.錯誤處理
maven下載pom失敗->重新操作
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
org.apache.hadoop.io.serializer.avro.TestAvroSerialization
下載avro-tools-1.7.4.jar:http://archive.apache.org/dist/avro/avro-1.7.4/java/
進入目錄:源碼根目錄\hadoop-common-project\hadoop-common\src\test\avro
java -jar path/to/avro-tools-1.7.4.jar compile schema avroRecord.avsc ..\java
eclipse 刷新
進入目錄:源碼根目錄\hadoop-common-project\hadoop-common\src\test\proto
protoc --java_out=../java *.proto
eclipse 刷新
org.apache.hadoop.ipc.protobuf.TestProtos
project->clean..->clean all projects & Build the entire workspace