HDFS启动报错Expected to be able to read up until at least txid but unable to find any edit logs

现象

Hadoop集群出现了异常断电后,HDFS启动报错,报错信息截图如下,
HDFS启动报错Expected to be able to read up until at least txid but unable to find any edit logs

解决

Hadoop NN中的元数据包括:
fsimage:包含某个时间点的文件系统的完整状态
edit logs:包含在最近的fsimage之后进行的每个文件系统更改(文件创建/删除/修改)。

当NN启动时,Hadoop将加载fsimage并应用所有编辑日志,同时进行大量的一致性检查,如果检查失败,它将中止。当我们将NN工作区中的edits_0000000000000000001-0000000000000000002 删掉时,然后尝试sbin/start-dfs.sh,将在日志中收到edits logs信息不匹配的日志,并且启动失败。

1 在hadoop管理节点执行 hadoop namenode -recover;
2 在一堆提示后选择YES 然后选择C;
3 重启HDFS服务,启动成功。