分享

Operation category READ is not supported in state standby

nextuser 发表于 2015-2-2 13:51:13 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 136558
  试验环境:

  本地: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,这让我很是奇怪,在自动故障恢复的集群配置下,竟然也会有全部变成备用的情况出现.

已有(1)人评论

跳转到指定楼层
nextuser 发表于 2015-2-2 13:51:47
解决方法:
方法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集群的节点才是王道

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条