hadoop(两台win7+cygwin+hadoop)启动后日志都没有错,运行一个程序出错了:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop(两台win7+cygwin+hadoop)启动后日志都没有错,运行一个程序出错了:相关的知识,希望对你有一定的参考价值。

在daitanode和tasktracker的日志里都有下面同样的错误:WARN org.apache.hadoop.ipc.Server: Incorrect header or version mismatch from 127.0.0.1:55879 got version 47 expected version 3
在jobtracker日志出现下面的错误:
2014-06-09 13:09:14,872 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 8021: readAndProcess threw exception java.io.IOException: 远程主机强迫关闭了一个现有的连接。. Count of bytes read: 0
java.io.IOException: 远程主机强迫关闭了一个现有的连接。
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
at sun.nio.ch.IOUtil.read(IOUtil.java:197)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)
at org.apache.hadoop.ipc.Server.channelRead(Server.java:1211)
at org.apache.hadoop.ipc.Server.access$2300(Server.java:77)
at org.apache.hadoop.ipc.Server$Connection.readAndProcess(Server.java:799)
at org.apache.hadoop.ipc.Server$Listener.doRead(Server.java:419)
at org.apache.hadoop.ipc.Server$Listener.run(Server.java:328)
2014-06-09 13:09:30,844 INFO org.apache.hadoop.conf.Configuration: found resource webapps/static/jobconf.xsl at file:/D:/bishe/hadoop/hadoop-0.20.2/webapps/static/jobconf.xsl

参考技术A 直接在这里回复你吧。首先你有两台机器竟然选择cygwin,无语,建议换成两台虚拟机,安装Linux系统,然后安装Hadoop,这样的话我觉得就不会有什么问题了。Cygwin真心不适合玩Hadoop,问题一堆而且解决起来都很麻烦追问

那我岂不是很悲剧啊!我也是刚刚接触java和hadoop,要不是做毕业设计都不会搞这些。再过几天就答辩了。。。。来不及了。不过还是谢谢你!

win10上部署Hadoop-2.7.3——非Cygwin非虚拟机

  开始接触Hadoop,听人说一般都是在Lunix下部署Hadoop,但是本人Lunix不是很了解,所以Google以下如何在Win10下安装Hadoop(之后再在Lunix下弄),找到不少文章,以下是主要参考的文章:

  1、Hadoop installation on windows without cygwin in 10 mints

  2、Win10系统安装Hadoop与Hbase

  3、Apache Hadoop for Windows Platform

  这里是按照第一篇文章操作的。

  一、安装jdk,地址为http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  具体的操作以及配置环境变量这里就不演示了,这里有一点需要注意的是默认会安装在C:\\Program Files 下,开始我也是安装在这里,但是后来报错了,报什么“JAVA_HOME”的错误具体的记不清了。查了一下说是因为安装路径中有空格,晕了,所以安装在如下目录:

  二、下载Hadoop,地址为 https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/  这里选择的是hadoop-2.7.3.tar.gz

  三、将其解压到某一文件夹,这里为D:\\hadoop\\hadoop-2.7.3

  四、添加“HADOOP_HOME”环境变量,并添加到Path环境变量中,按照下图操作

  五、修改Hadoop配置文件,在这之前你要先下载sardetushar_gitrepo_download ,之后解压,删掉D:\\hadoop\\hadoop-2.7.3目录下的bin、etc文件夹,用刚刚解压的替换。

  1、D:\\hadoop\\hadoop-2.7.3\\etc\\hadoop\\core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
View Code

  2、D:\\hadoop\\hadoop-2.7.3\\etc\\hadoop\\mapred-site.xml

<configuration>
    <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
    </property>
</configuration>
View Code

  3、D:\\hadoop\\hadoop-2.7.3\\etc\\hadoop\\hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
       <name>dfs.namenode.name.dir</name>
       <value>/hadoop/data/namenode</value>
    </property>
    <property>
       <name>dfs.datanode.data.dir</name>
       <value>/hadoop/data/datanode</value>
    </property>
</configuration>
View Code

  这个配置这里要感谢一下这篇帖子:http://stackoverflow.com/questions/34871814/failed-to-start-namenode-in-hadoop  按照第一篇教程配置会出错的!!!

  如果你的路径形如d:/hadoop/data/namenode 就会出现上图错误,如果路径是在E:,那么上图中的异常就会是E

  4、D:\\hadoop\\hadoop-2.7.3\\etc\\hadoop\\yarn-site.xml

<configuration>
    <property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
    </property>
    <property>
       <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
       <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>
View Code

  5、D:\\hadoop\\hadoop-2.7.3\\etc\\hadoop\\hadoop-env.cmd (修改JDK的安装路径)

  六、格式化HDFS文件系统,hdfs namenode -format      如下图,

  如果这一步没有什么异常基本没有问题了。

  七、在命令行(管理员)将目录指向D:\\hadoop\\hadoop-2.7.3\\sbin,键入“start-all”

  Namenode、Datanode、YARN resourcemanager、YARN nodemanager四个进程启动成功,再看一下网站截图:

  localhost:8088

  localhost:50070

  最后我们可以使用“stop-all”停止Hadoop

  至此,Hadoop部署已经结束。第一次接触还是挺兴奋的!

以上是关于hadoop(两台win7+cygwin+hadoop)启动后日志都没有错,运行一个程序出错了:的主要内容,如果未能解决你的问题,请参考以下文章

win7 hadoop的zlib怎么安装

在计算机管理中找不到cygwin ssh服务

怎么在windows上搭建hadoop环境

win7下使用cygwin编译VLC

Cygwin搭建hadoop开发环境

Windows平台安装及配置Hadoop(不借助cygwin)