Hortonworks HA名称节点发出错误"操作类别READ不支持状态待机"

时间:2014-07-17 02:28:01

标签: hadoop hortonworks-data-platform

我的hadoop集群HA活动名称节点(host1)突然切换到备用名字节点(host2)。我在hadoop日志中找不到任何错误(在任何服务器中)以确定根本原因。

切换名称节点后,经常出现在hdfs日志中的错误,非应用程序可以读取HDFS文件。

  

2014-07-17 01:58:53,381 WARN namenode.FSNamesystem   (FSNamesystem.java:getCorruptFiles(6769)) - 获取损坏的文件块   返回错误:状态不支持操作类别READ   待机

重新启动新的活动节点(host2)后,namenode将切换回新的备用节点(host1)。然后群集正常工作,用户也可以检索HDFS文件。

我使用的是Hortonworks 2.1.2.0和HDFS版本2.4.0.2.1

编辑:2014年第21届 当活动 - 备用名称节点切换发生时,在活动的名称节点日志中找到以下日志

  

NT_SETTINGS-1675610.csv dst = null perm = null 2014-07-20   09:06:44,746 INFO FSNamesystem.audit   (FSNamesystem.java:logAuditMessage(7755)) - allowed = true
  ugi = storm(auth:SIMPLE)ip = / 10.0.1.50 cmd = getfileinfo   SRC = /用户/钨/分段/ LEAPSET /产品/产品-138018   6.csv dst = null perm = null 2014-07-20 09:06:44,747 INFO FSNamesystem.audit(FSNamesystem.java:logAuditMessage(7755)) -   allowed = true ugi = storm(auth:SIMPLE)ip = / 10.0.1.50
  CMD = getfileinfo   SRC = /用户/钨/分段/ LEAPSET / MERCHANT_SETTINGS / MERCHA   NT_SETTINGS-1695794.csv dst = null perm = null 2014-07-20   09:06:44,747 INFO FSNamesystem.audit   (FSNamesystem.java:logAuditMessage(7755)) - allowed = true
  ugi = storm(auth:SIMPLE)ip = / 10.0.1.50 cmd = getfileinfo   SRC = /用户/钨/分段/ LEAPSET /产品/产品-139954   1.csv dst = null perm = null 2014-07-20 09:06:44,748 INFO namenode.FSNamesystem(FSNamesystem.java:stopActiveServices(1095)) -   停止为活跃状态启动服务2014-07-20 09:06:44,750   INFO namenode.FSEditLog(FSEditLog.java:endCurrentLogSegment(1153)) -   结束日志段842249 2014-07-20 09:06:44,752 INFO   namenode.FSEditLog(FSEditLog.java:printStatistics(673)) - 数量   交易:2交易总时间(毫秒):0   在Syncs中批处理的事务:0同步数:1 SyncTimes(ms):4   35 2014-07-20 09:06:44,774 INFO namenode.FSEditLog   (FSEditLog.java:printStatistics(673)) - 交易数量:2   事务总时间(毫秒):0批量处理的事务数   同步:0同步数:2 SyncTimes(ms):24 37 2014-07-20   09:06:44,805 INFO namenode.FSNamesystem(FSNamesystem.java:run(4362))    - NameNodeEditLogRoller被中断,退出2014-07-20 09:06:44,824 INFO namenode.FileJournalManager   (FileJournalManager.java:finalizeLogSegment(130)) - 完成编辑   文件   / EBS / hadoop的/ HDFS /名称节点/电流/ edits_inprogress_0000000000000842249    - > / ebs / hadoop / hdfs / name node / current / edits_0000000000000842249-0000000000000842250 2014-07-20   09:06:44,874 INFO blockmanagement.CacheReplicationMonitor   (CacheReplicationMonitor.java:run(168)) - 关闭   CacheReplicationMonitor 2014-07-20 09:06:44,876 INFO   namenode.FSNamesystem(FSNamesystem.java:startStandbyServices(1136)) -   待机状态所需的启动服务2014-07-20 09:06:44,927   信息ha.EditLogTailer(EditLogTailer.java:(117)) - 会滚动   在hadoop-client-us-west-1b / 10.0.254.10:8020每次登录活动节点   120秒2014-07-20 09:06:44,929 INFO ha.StandbyCheckpointer   (StandbyCheckpointer.java:start(129)) - 启动待机检查点   线程...检查点活动NN在   http:// hadoop-client-us-west-1b:50070服务检查站在   http:// hadoop-client-us-west-1a:50070 2014-07-20 09:06:44,930 INFO   ipc.Server(Server.java:run(2027)) - 8020上的IPC服务器处理程序3,   从org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo调用   10.0.1.50:57297调用#8431877重试#0:org.apache.hadoop.ipc.StandbyException:操作类别READ不是   状态待机支持2014-07-20 09:06:44,930 INFO ipc.Server   (Server.java:run(2027)))80820上的IPC服务器处理程序16,调用   来自的org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo   10.0.1.50:57294调用#130105071重试#0:org.apache.hadoop.ipc.StandbyException:操作类别READ不是   状态待机支持2014-07-20 09:06:44,940 INFO ipc.Server   (Server.java:run(2027)) - 在8020上的IPC服务器处理程序14,调用   来自的org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo   10.0.1.50:57294调用#130105072重试#0:org.apache.hadoop.ipc.StandbyException:操作类别READ不是   在状态待机状态下支持

编辑:2014年8月13日 我们找到了namenode切换的根本原因,namenode获取了大量的文件信息请求,然后发生了namenode切换。

但仍然无法解决状态待机错误不支持操作类别READ。

编辑:2014年12月7日 我们发现,由于解决方案应用程序需要在以前活动的namenode失败后手动连接当前活动的namenode。 HA模式下名称节点的流量不会自动定向到活动节点。

1 个答案:

答案 0 :(得分:0)

我有同样的问题。您需要更新客户端库。使用amabari设置spark并让它在服务器上安装客户端。然后设置SPARK_HOME环境变量。