Hortonworks HA Namenodes出现错误“状态待机状态下不支持操作类别READ”

问题描述 投票:4回答:1

我的hadoop集群HA活动名称节点(host1)突然切换到备用namenode(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

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

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 = / user / tungsten / staging / LEAPSET / PRODUCTS / PRODUCTS-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 = / user / tungsten / staging / 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 = / user / tungsten / staging / LEAPSET / PRODUCTS / PRODUCTS-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在同步中批量处理的交易数:0 of syncs:1 SyncTimes(ms):4 35 2014-07-20 09:06:44,774 INFO namenode.FSEditLog(FSEditLog.java:printStatistics(673)) - 交易数量:2交易总时间(毫秒):0在Syncs中批量处理的事务数: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 / namenode / current / 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 INFO ha.EditLogTailer(EditLogTailer.java:(117)) - 将在hadoop-client-us-上的活动节点上滚动日志west-1b / 10.0.254.10:每120秒8020。 2014-07-20 09:06:44,929 INFO ha.StandbyCheckpointer(StandbyCheckpointer.java:start(129)) - 启动待机检查点线程...在http:// hadoop-client-us-west-1b检查点活动NN: 50070服务检查站位于http:// hadoop-client-us-west-1a:50070 2014-07-20 09:06:44,930 INFO ipc.Server(Server.java:run(2027)) - IPC服务器处理程序3 8020 ,从10.0.1.50:57297调用org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo调用#8431877重试#0:org.apache.hadoop.ipc.StandbyException:状态备用2014-07中不支持操作类READ -20 09:06:44,930 INFO ipc.Server(Server.java:run(2027)) - 8020上的IPC服务器处理程序16,从10.0.1.50:57294调用org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo调用#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.Cli来自10.0.1.50:57294的entProtocol.getFileInfo调用#130105072重试#0:org.apache.hadoop.ipc.StandbyException:状态待机状态下不支持操作类别READ

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

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

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

hadoop hortonworks-data-platform
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.