HDFS的启动过程和关闭过程都经过脚本进行了封装,只需要执行start-all.sh和stop-all.sh就可以。操作较简单。下面针对启动阶段的原理和详细过程进行说明,对关闭过程目前还没有调研,所以暂缺。
HDFS的启动分三步骤:
- l 第一步,启动namenode;
- l 第二步,启动datanode;
- l 第三步,启动Secondary namenode。
下面一一描述。
第一步,启动namenode
1. 初始化过程:获取一些必要的参数值,初始化FSImage,FSNameSystem,NameNode等类。这个过程在很多启动描述中都被忽略,不是很重要。需要注意的是,这个过程在recover, format和finalize几种启动时的操作略有不同。
2. 构造Configuration对象:该对象的具体创建过程不是很清楚,只知道其中包含了一些配置信息的加载。所以应该是和配置信息有关的。
3. 构造namenode对象:这是namenode启动最重要的阶段。Namenode对象主要包括两部分,一个是Server类成员对象,第二个是FSNameSystem类成员对象。
a) Server成员的构造:Server是namenode用于与client