Hadoop eclipse开发解决Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException

问题:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

应用环境

                Hadoop: apache hadoop1.2.1

  Eclipse Version: Kepler Service Release 1


计划在Eclipse中直接运行一些MapReduce测试程序,在 google code上下载了插件:hadoop-0.20.1-eclipse-plugin.jar,但是在配置hadoop location时却报错:

Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException,如图所示:

Hadoop eclipse开发解决Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException_第1张图片

原因:Hadoop服务端版本和eclipse插件版本不一致


解决方案:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

所以就重新编译了一个hadoop 1.2.1 eclipse plugin,编译过程如下:

1. 插件源代码在${hadoop源码目录}/src/contrib/eclipse-plugin下面,需要修改build.xml文件如下:

(Note:需要修改的地方已经用蓝色字体进行了标注,其他保持原本默认配置即可






 
 
 
 
  haoop源码目录
" />
  1.2.1
" />
  eclipse安装位置
"/>
 
 
 

     
 
 
 

 
   
     
     
     
     
     
     
     
     

     
     
   

 


 
 
   
   
   
   
    
         
   

   
 


 
 
   
   
 


 
            
   
         encoding="ISO-8859-1"
     srcdir="${src.dir}"
     includes="**/*.java"
     destdir="${build.classes}"
     debug="on"
     deprecation="off">
    
   
 


 
 
     
     
     
     
     
     
     
     
     

     
              jarfile="${build.dir}/hadoop-${name}-${version}.jar"
        manifest="${root}/META-INF/MANIFEST.MF">
     
     
   
 




Note: 其实完全可以剪切这段代码使用,注意修改您机器上的hadoop源码目录路径和eclipse安装路径!


2. MANIFEST.MF修改为:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MapReduce Tools for Eclipse
Bundle-SymbolicName: org.apache.hadoop.eclipse;singleton:=true
Bundle-Version: 0.18
Bundle-Activator: org.apache.hadoop.eclipse.Activator
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime,
 org.eclipse.jdt.launching,
 org.eclipse.debug.core,
 org.eclipse.jdt,
 org.eclipse.jdt.core,
 org.eclipse.core.resources,
 org.eclipse.ui.ide,
 org.eclipse.jdt.ui,
 org.eclipse.debug.ui,
 org.eclipse.jdt.debug.ui,
 org.eclipse.core.expressions,
 org.eclipse.ui.cheatsheets,
 org.eclipse.ui.console,
 org.eclipse.ui.navigator,
 org.eclipse.core.filesystem,
 org.apache.commons.logging
Eclipse-LazyStart: true
Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/jackson-core-asl-1.8.8.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar,lib/commons-httpclient-3.0.1.jar,lib/commons-cli-1.2.jar
Bundle-Vendor: Apache Hadoop


3. 在hadoop源码目录下新建build/contrib/eclipse-plugin/classes目录。

在${hadoop源码目录}/src/contrib/eclipse-plugin目录下执行:ant,开始编译插件。
编译完成之后,在${hadoop源码目录}/build/contrib/eclipse-plugin/下面会生成hadoop-eclipse-plugin-1.2.1.jar文件,复制到eclipse的plugin目录下即可。


你可能感兴趣的:(hadoop)