试验环境:

  本地:MyEclipse

  集群:Vmware 11+ 6台 Centos 6.5

  Hadoop版本: 2.4.0(配置为自动HA)

试验背景:

在正常测试MapReduce(下简称MR)程序4次之后,进行一次新的MR程序,MyEclipse的控制台信息卡住不动了,我通过远程连接NameNode查看系统目录也被卡住,这时候再看MyEclipse控制台,发现已经抛出异常如下:

org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby

通过Web页面查看两个NameNode状态,均已经变成Standby,这让我很是奇怪,在自动故障恢复的集群配置下,竟然也会有全部变成备用的情况出现.

防止有人无常拷贝:加个作者链接:http://www.cnblogs.com/hadoop2015/

解决方法:

方法1:(结果不起作用)

我通过Shell命令方式,hadoop/bin/hdfs haadmin -failover --forceactive hadoop2 hadoop1(注意,这种方式本来是在手动故障恢复中进行强制切换NameNode的做法)

返回结果,不支持,并且诚恳的提示,这种方式是在手动故障转移的情况下,该命令才会起作用

方法2:(奏效)

我使用JPS检查了一下ZooKeeper集群的状态,发现没有任何征兆的失效了两个,原来是ZK的原因,于是重新启动ZK集群

然后重新启动ZKFailoverController(DFSZKFailoverController):没有这个角色存在,自然不会自动切换NameNode了

得到的教训,虽然NameNode通过HA机制,已经比Hadoop1可靠了,但是ZK集群一定要保证数量,我仅仅设置了三个节点的ZK集群,而ZK集群的可靠要保证:活动的ZK节点数量>(ZK节点总数-1)/2.所以,多多的设置ZK集群的节点才是王道.

hadoop 异常及处理总结-01(小马哥-原创)的更多相关文章

  1. hadoop 异常及处理总结-02(小马哥精品)

    一直以来,对hdfs的警告信息不报以理睬,今天突然关注了一下.每当我操作hdfs的时候就会出现这样一个警告: WARN util.NativeCodeLoader: Unable to load na ...

  2. Hadoop异常总结

    版权声明:本文为yunshuxueyuan原创文章.如需转载请标明出处:http://www.cnblogs.com/sxt-zkys/QQ技术交流群:299142667 Hadoop异常总结 had ...

  3. hadoop异常:java.lang.RuntimeException: java.lang.NoSuchMethodException

    出现异常的程序大致框架是这样的: public class getMaxTemperature extends Configured implements Tool { ... class MaxTe ...

  4. hadoop异常: 到目前为止解决的最牛逼的一个异常(java.io.IOException: Incompatible clusterIDs)

    (注意: 本人用的版本为hadoop2.2.0, 旧的版本和此版本的解决方法不同) 异常为: 9 (storage id DS-2102177634-172.16.102.203-50010-1384 ...

  5. [Hadoop] - 异常Cannot obtain block length for LocatedBlock

    在Flume NG+hadoop的开发中,运行mapreduce的时候出现异常Error: java.io.IOException: Cannot obtain block length for Lo ...

  6. hadoop异常:Be Replicated to 0 nodes, instead of 1

    Hadoop 坑爹的Be Replicated to 0 nodes, instead of 1 异常 博客分类: Java 编程 HadoopITeyeJSP算法Apache  有段时间不写博客了, ...

  7. hadoop异常: java.io.EOFException: Unexpected end of input stream

    执行hadoop任务时报错: -- ::, INFO [main] org.apache.hadoop.mapred.MapTask: Processing --//app1@flume23_1000 ...

  8. hadoop的dfs工具类一个【原创】

    开始没搞定插件问题,就弄了个dsf操作类,后面搞定了插件问题,这玩意也就聊胜于无了,还是丢这里算了. 首先是一个配置,ztool.hadoop.properties hadoop.home.dir=G ...

  9. hadoop 异常 datanode未启动

    暴力方法:(本人是学习阶段,实际工作中不能这么做)在各个节点上执行如下操作. 将/tmp 删除 将 conf/mapred-site.xml <property> <name> ...

随机推荐

  1. 设备模型之kobject,kset及其关系

    Linux2.6以后的设备驱动,都是在设备模型的基础上构建的,因此,要编写linux下的设备驱动程序,不论是usb设备,pci设备等,都需要了解设备模型. 设备模型的基础结构体主要是kobject,k ...

  2. 网易云课堂学习之VS相关

    1.为开发好的项目文件瘦身 如:在项目文件ScreenCapture中,只需保留框起来的两个文件即可 而且在框起来的ScreenCapture里的Debug文件也可以删掉,整个文件由75.4 MB变为 ...

  3. An AnnotationConfiguration instance is required to use

    An AnnotationConfiguration instance is required to use <mapping class="jebe7282/study/hibern ...

  4. Machine Learning for hackers读书笔记(七)优化:密码破译

    #凯撒密码:将每一个字母替换为字母表中下一位字母,比如a变成b. english.letters <- c('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i' ...

  5. Debian 如何更改hdmi接口输出的分辨率

    1. 先删除无用的文件: a) Boot/boot.src b) Boot/script.bin 2. 打开boot/script.fex,找到disp_init节点 a) 将screenX_outp ...

  6. PhpStorm 获取注册码

    另一种方法是:直接用浏览器打开 http://idea.lanyus.com/ ,点击页面中的“获得注册码”,然后在注册时切换至Activation Code选项,输入获得的注册码一长串字符串,便可以 ...

  7. python练习程序(显示图像)

    import matplotlib as mpl import Image import numpy as np import matplotlib.pyplot as plt im=Image.op ...

  8. yaf框架流程三

    路由的原理请看http://yaf.laruence.com/manual/yaf.routes.html这个链接 要点:路由的顺序是堆栈模式的,及最后添加的路由规则最优先.由上两篇可知,定义的第一条 ...

  9. 使用 Linux 终端 SSH 登录 VPS

    Windows 中远程 SSH 登录 VPS 进行管理的利器是 PuTTY,但是 Linux 中就没必要用它了.Linux.Unix(包括 Mac iOS)都必然有内置的命令行终端,内建了 OpenS ...

  10. 在Linux上安装多Jboss个需要修改的端口

    如果在一台机器上部署了多个jboss server,需要修改相关端口以避免端口冲突.目前确认需要修改的配置如下一.vi $JBOSS_HOME/server/default/conf/jboss-se ...