💡
原文中文,约6300字,阅读约需15分钟。
📝
内容提要
本文介绍了NameNode启动过程,主要由NameNode.java主导,通过createNameNode实现启动。启动关键服务的函数包括startCommonServices和blockManager.activate。
🎯
关键要点
- 本章详细介绍NameNode启动过程,主要是代码级别的解释。
- NameNode的启动主要由NameNode.java主导,通过main函数开始。
- createNameNode函数主要分为参数解析和启动NameNode的流程。
- 参数解析主要关心解析startOpt,控制具体操作。
- 启动NameNode的核心在于NameNode的构造函数,检查HA状态。
- initialize函数负责登录kerberos、初始化监控信息和加载FSImage。
- startCommonServices函数启动NameNode的关键服务,包括激活BlockManager。
- BlockManager负责管理文件系统中文件的物理块与实际存储位置的映射关系。
- blockManager.activate函数初始化blockManager,包括启动datanodeManager和相关线程。
➡️