Hadoop Hortonworks HA Namenodes给出了一个错误;在待机状态下不支持读取操作类别;

Hadoop Hortonworks HA Namenodes给出了一个错误;在待机状态下不支持读取操作类别;,hadoop,hortonworks-data-platform,Hadoop,Hortonworks Data Platform,我的hadoop集群HA活动名称节点(host1)突然切换到备用名称节点(host2)。我在hadoop日志(在任何服务器上)中都找不到任何错误来确定根本原因 在切换Namenodes之后,hdfs日志中经常出现以下错误,并且应用程序的非用户可以读取hdfs文件 2014-07-17 01:58:53381警告namenode.FSNamesystem (FSNamesystem.java:getCorruptFiles(6769))-获取损坏的文件块 返回错误:状态中不支持读取操作类别 待命

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

在切换Namenodes之后,hdfs日志中经常出现以下错误,并且应用程序的非用户可以读取hdfs文件

2014-07-17 01:58:53381警告namenode.FSNamesystem (FSNamesystem.java:getCorruptFiles(6769))-获取损坏的文件块 返回错误:状态中不支持读取操作类别 待命

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

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

编辑日期:2014年7月21日 发生主备namenode切换时,在活动namenode日志中发现以下日志

NT_SETTINGS-1675610.csv dst=null perm=null 2014-07-20 09:06:44746信息FSNamesystem.audit (FSNamesystem.java:logAuditMessage(7755))-allowed=true
ugi=storm(auth:SIMPLE)ip=/10.0.1.50 cmd=getfileinfo src=/user/worth/staging/LEAPSET/PRODUCTS/PRODUCTS-138018 6.csv dst=null perm=null 2014-07-20 09:06:44747信息FSNamesystem.audit(FSNamesystem.java:logAuditMessage(7755))- 允许=真实ugi=风暴(认证:简单)ip=/10.0.1.50
cmd=getfileinfo src=/user/worth/staging/LEAPSET/MERCHANT\u SETTINGS/MERCHA NT_SETTINGS-1695794.csv dst=null perm=null 2014-07-20 09:06:44747信息FSNamesystem.audit (FSNamesystem.java:logAuditMessage(7755))-allowed=true
ugi=storm(auth:SIMPLE)ip=/10.0.1.50 cmd=getfileinfo src=/user/worth/staging/LEAPSET/PRODUCTS/PRODUCTS-139954 1.csv dst=null perm=null 2014-07-20 09:06:44748 INFO namenode.FSNamesystem(FSNamesystem.java:stopActiveServices(1095))- 正在停止活动状态下的服务2014-07-20 09:06:44750 INFO namenode.FSEditLog(FSEditLog.java:endCurrentLogSegment(1153))- 结束日志段842249 2014-07-20 09:06:44752信息 namenode.FSEditLog(FSEditLog.java:printStatistics(673))-数量 事务:2事务的总时间(毫秒):0个 在同步中批处理的事务:0同步次数:1同步次数(毫秒):4 35 2014-07-20 09:06:44774 INFO namenode.FSEditLog (FSEditLog.java:printStatistics(673))-事务数:2 事务的总时间(毫秒):0中批处理的事务数 同步:0同步次数:2次同步(毫秒):24 37 2014-07-20 09:06:44805信息namenode.FSNamesystem(FSNamesystem.java:run(4362)) -NameNodeEditLogRoller被中断,退出2014-07-20 09:06:44824信息namenode.FileJournalManager (FileJournalManager.java:finalizeLogSegment(130))-完成编辑 文件 /ebs/hadoop/hdfs/namenode/current/edits\u inprogress\u0000000000000 842249 ->/ebs/hadoop/hdfs/name node/current/edits\u0000000000000 842249-0000000000000 842250 2014-07-20 09:06:44874信息块管理.CacheReplicationMonitor (CacheReplicationMonitor.java:run(168))-正在关闭 CacheReplicationMonitor 2014-07-20 09:06:44876信息 namenode.FSNamesystem(FSNamesystem.java:startStandbyServices(1136))- 待机状态所需的启动服务2014-07-20 09:06:44927 INFO ha.EditLogTailer(EditLogTailer.java:(117))-将滚动 在hadoop-client-us-west-1b/10.0.254.10:8020处的活动节点上登录 120秒。2014-07-20 09:06:44929信息医管局候补检查站 (StandbyCheckpointer.java:start(129))-启动备用检查点 线检查点活动NN http://hadoop-client-us-west-1b:50070在 http://hadoop-client-us-west-1a:500702014-07-209:06:44930信息 服务器(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:未读取操作类别 支持处于待机状态2014-07-20 09:06:44930信息ipc.服务器 (Server.java:run(2027))-8020上的IPC服务器处理程序16,调用 org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo from 10.0.1.50:57294调用#130105071重试#0:org.apache.hadoop.ipc.StandbyException:未读取操作类别 支持处于待机状态2014-07-20 09:06:44940信息ipc.服务器 (Server.java:run(2027))-8020上的IPC服务器处理程序14,调用 org.apache.hadoop.hdfs.protocol.ClientProtocol.getFileInfo from 10.0.1.50:57294调用#130105072重试#0:org.apache.hadoop.ipc.StandbyException:未读取操作类别 在待机状态下受支持

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

但仍无法获得解析在待机状态下不支持读取操作类别错误

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

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

我投票将这个问题作为离题题来结束,因为它的解决方式不太可能帮助其他用户。