Hadoop eclipse开发解决Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException
来源:互联网 发布:怎么在淘宝上卖衣服 编辑:程序博客网 时间:2024/06/08 09:39
问题:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
应用环境
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插件版本不一致。
解决方案:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
所以就重新编译了一个hadoop 1.2.1 eclipse plugin,编译过程如下:
1. 插件源代码在${hadoop源码目录}/src/contrib/eclipse-plugin下面,需要修改build.xml文件如下:
(Note:需要修改的地方已经用蓝色字体进行了标注,其他保持原本默认配置即可
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project default="jar" name="eclipse-plugin">
<!-- 增加如下这8个property配置 -->
<property name="name" value="${ant.project.name}" />
<property name="root" value="${basedir}" />
<property name="hadoop.root" location="haoop源码目录" />
<property name="version" value="1.2.1" />
<property name="eclipse.home" location="eclipse安装位置"/>
<property name="build.dir" location="${hadoop.root}/build/contrib/${name}"/>
<property name="build.classes" location="${build.dir}/classes"/>
<property name="src.dir" location="${root}/src/java"/>
<!-- end -->
<!-- 注释掉这个import语句 -->
<!--<import file="../build-contrib.xml"/>-->
<path id="eclipse-sdk-jars">
<fileset dir="${eclipse.home}/plugins/">
<include name="org.eclipse.ui*.jar"/>
<include name="org.eclipse.jdt*.jar"/>
<include name="org.eclipse.core*.jar"/>
<include name="org.eclipse.equinox*.jar"/>
<include name="org.eclipse.debug*.jar"/>
<include name="org.eclipse.osgi*.jar"/>
<include name="org.eclipse.swt*.jar"/>
<include name="org.eclipse.jface*.jar"/>
<include name="org.eclipse.team.cvs.ssh2*.jar"/>
<include name="com.jcraft.jsch*.jar"/>
</fileset>
</path>
<!-- Override classpath to include Eclipse SDK jars -->
<path id="classpath">
<pathelement location="${build.classes}"/>
<pathelement location="${hadoop.root}/build/classes"/>
<path refid="eclipse-sdk-jars"/>
<!-- 增加这个fileset配置 -->
<fileset dir="${hadoop.root}">
<include name="*.jar"/>
</fileset>
<!-- end -->
</path>
<!-- Skip building if eclipse.home is unset. -->
<target name="check-contrib" unless="eclipse.home">
<property name="skip.contrib" value="yes"/>
<echo message="eclipse.home unset: skipping eclipse plugin"/>
</target>
<target name="compile">
<echo message="contrib: ${name}"/>
<!--
如下的encoding配置非常关键!
-->
<javac
encoding="ISO-8859-1"
srcdir="${src.dir}"
includes="**/*.java"
destdir="${build.classes}"
debug="on"
deprecation="off">
<classpath refid="classpath"/>
</javac>
</target>
<!-- Override jar target to specify manifest -->
<target name="jar" depends="compile" unless="skip.contrib">
<mkdir dir="${build.dir}/lib"/>
<copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
<!-- 增加如下6个copy配置 -->
<copy file="${hadoop.root}/lib/commons-cli-1.2.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-configuration-1.6.jar" todir="${build.dir}/lib" verbose="true" />
<copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar" todir="${build.dir}/lib" verbose="true" />
<copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true" />
<copy file="${hadoop.root}/lib/commons-lang-2.4.jar" todir="${build.dir}/lib" verbose="true" />
<copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar" todir="${build.dir}/lib" verbose="true" />
<!-- end -->
<jar
jarfile="${build.dir}/hadoop-${name}-${version}.jar"
manifest="${root}/META-INF/MANIFEST.MF">
<fileset dir="${build.dir}" includes="classes/ lib/"/>
<fileset dir="${root}" includes="resources/ plugin.xml"/>
</jar>
</target>
</project>
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 eclipse开发解决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
- hadoop安装后运行出现Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectExcept
- Call to localhost/127.0.0.1:9000 failed on connection exception:java.net.ConnectException.拒绝连接
- Call to localhost/127.0.0.1:9000 failed on connection exception:java.net.ConnectException
- Error:Call to localhost/127.0.0.1:9000 failed on connetion exception: java .net.ConnectionException:
- Call to localhost/127.0.0.1:9000 failed on connection exception:java.net.ConnectException
- Call to localhost/127.0.0.1:9000 failed on connection exception:java.net.ConnectException
- Call to localhost/127.0.0.1:9000 failed on connection hadoop eclipse插件
- 【Hadoop】Call to localhost/127.0.0.1:8020 failed on connection exception
- hbase链接hadoop报错CopyFromLocal: Call to localhost/127.0.0.1:8020 failed on connection exception:
- Call to localhost/127.0.0.1:9001 failed on connection exception: java.net.ConnectException: Connecti
- 异常解决:java.net.ConnectException: Call To Master/127.0.0.1:9000 failed on connection exception
- [HBase]Call to localhost/127.0.0.1:9000 failed on connection exception
- Call to localhost/127.0.0.1:9000 failed on connection exception错误。
- ubuntu上运行eclipse出现 Call From master to localhost:9000 failed on connection exception
- java.net.ConnectException: Call From localhost/127.0.0.1 to localhost:8020 failed on connection
- 程序开过多线程,导致hadoop作业无法运行成功——Call to hadoop1:9000 failed on lo cal exception: java.io.IOException: Coul
- iOS LazyTableImages的分析
- linux驱动开发--字符设备:创建一组设备节点
- CakePHP based UI 终于找到了不错的PHP UI框架
- 2013.12.28
- Struts2 第二篇 Action名称的搜索路径
- Hadoop eclipse开发解决Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException
- 解决Oracle ORA-12505, TNS:listener does not currently know of SID given in connect
- SpannableString 动态设置textView中字体颜色和大小
- oracle 11g 添加emp表
- CSS解读之border属性
- Android开源项目收集
- 页面表格字段过长的处理方法
- 使用XML配置页面
- FreeBSD安装汉字输入法:SCIM(成功了)