描述: 开始集群大约有 80 million 碎文件(一不注意就这样了),导致 NN ( A )内存不足,Crash 掉了。于是临时升级了 A 内存以便抗住。此时 NN 大约需要 60GB 内存。 另外一个 Standby 的 NN ( B )切换成 active,未升级仍然可以工作。期望是不需要升级的,直接删除完文件把 A 配置再降回去。 然后在 B active 的时候开始删除、合并操作,减少了 10 million 文件,然后 B 挂掉了,同样是内存不足的原因。A 变为 active。( B 是在删除前、后挂掉的不确定现在) 于是升级了 B 的内存跟 A 一样,再重启。
问题: B 仍然无法恢复…… 现象: B 启动后,接收 DN report blocks,处理 editlogs,内存满了,一直长时间 GC,无法进行下去。 猜测: 集群数据量只需要 60G 内存,可能是 editlogs 合并 fsimage 需要大量内存,无法满足需求。