hdfs两个namenode的fsimage不同步

问题描述

发现active namenode上的fsimage是4月4日的,而standby namenode上的fsimage是4月21日。说明没有及时同步fsimage,担心后续切换可能会出问题。

定位

根据配置,fsimage至少每个小时就会同步一次,查看两个namenode的日志中相关记录:

Standby namenode:

2019-04-21 10:04:29,853 INFO org.apache.hadoop.hdfs.server.namenode.TransferFsImage: Uploaded image with txid 1260456917 to namenode at node05:50070 in 27.421 seconds

Active namanode:

2019-04-21 10:04:28,728 INFO org.apache.hadoop.hdfs.server.namenode.TransferFsImage: Downloaded file fsimage.ckpt_0000000001260456917 size 1109646913 bytes.

日志没有任何错误,说明fsimage的同步机制工作正常。

查看配置hdfs-site.xml中dfs.namenode.name.dir的配置,发现配置了两个目录:/disk1/hadoop/namenode_dir,/disk2/hadoop/namenode_dir

分别查看这两个目录,发现disk1的目录是不同步的,而disk2下的目录是正常同步了的。

继续追active namenode的日志,发现有很多针对disk2的操作,但一个针对disk1的都没有。而理论上,两个目录的操作完全一致才是正常的。

经过询问相关IT人员,4月4日disk1磁盘发生过写满的情况!

Active namenode发现目录不可用,应该会打印错误日志,不过时间过去太久,当时的日志已经被冲掉了。

后续

namenode发现目录不可用之后,后面不会再尝试读写该目录是否恢复可用了。

关注dfs.namenode.name.dir.restore参数的作用,待研究。

猜你喜欢

转载自www.cnblogs.com/libran108/p/10938207.html