试验环境:

  本地: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. 每天一个小算法(Shell Sort3)

    希尔算法自己编了一个,循环很多,很不美观,不过运行正确: c语言实现: #include <stdio.h> #include <stdlib.h> #define LEN 2 ...

  2. linux系统下怎么安装.deb文件

    linux系统下怎么安装.deb文件? deb 是 ubuntu .debian 的格式.rpm 是 redhat .fedora .suse 的格式. 他们不通用(虽然可以转换一下). deb是de ...

  3. 转:最值得学习阅读的10个C语言开源项目代码

    阅读优秀代码是提高开发人员修为的一种捷径……  1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试 ...

  4. laravel下的团队开发

    当你的团队在开发一个大型应用时,该应用的不同部分可能以不同的速度前进.比如,设想下面的场景:一个开发热源被分配 数据层 的backend工作,而另外一个开发人员做front-end和web/contr ...

  5. POJ 2774 (后缀数组 最长公共字串) Long Long Message

    用一个特殊字符将两个字符串连接起来,然后找最大的height,而且要求这两个相邻的后缀的第一个字符不能在同一个字符串中. #include <cstdio> #include <cs ...

  6. JavaScript——关于字符串的replace函数中的function函数的参数

    <!DOCTYPE> <html> <head> </head> <body> <script type="text/jav ...

  7. OK335xS ethtool 移植

    /******************************************************************* * OK335xS ethtool 移植 * 声明: * 由于 ...

  8. 【转】Qt多线程操作界面---在QThread更新QProgressBar

    #include <QApplication> #include <QThread> #include <QMainWindow> #include <QPr ...

  9. 【转】DB2 常用命令

    1. 打开命令行窗口  #db2cmd 2. 打开控制中心  # db2cmd db2cc 3. 打开命令编辑器  db2cmd db2ce =====操作数据库命令===== 4. 启动数据库实例  ...

  10. 聊聊Oracle 11g的Snapshot Standby Database(上)

    Oracle 11g是Data Guard的重要里程碑版本.在11g中,Active DataGuard.Advanced Compression等特性大大丰富了Data Guard的功能和在实践领域 ...