【概述】
上一篇文章讲解了,在一定DN节点规模,一定block数据量下的并发写文件的优化问题。
在这种节点、数据量规模的集群中,当HDFS全部重启(nn+dn全部重启),或者两个NN都重启后,需要经过较长时间,才能真正对外提供服务。
那么nn启动过程中都干了些啥,主要耗时点在哪,以及应当如何优化,本文就来聊聊这些问题——启动优化。
【启动流程与耗时分析】
NN的启动可以粗略的分为以下几个步骤:
启动http服务
加载文件系统
启动rpc服务
按需启动插件服务
处理dn的注册以及dn的全量块汇报
其中启动HTTP服务、RPC服务,都是在对应配置的IP端口上进行监听,然后创建对应的reader线程、handler线程,然后等待客户端的连接并处理客户端的请求。
而加载文件系统则是启动过程中的关键步骤,又可以细分为:
加载fsimage文件
加载fsimage的MD5文件并进行比对校验
加载editlog文件
checkpoint的保存(可选)
进入安全模式
加载fsimage就是读取fsimage文件中的内容,并以此在内存中构建相关的元数据信息;加载editl