3k字带你了解Hadoop源码,一看就懂(一)

本文详细解析了Hadoop NameNode的启动过程,包括启动9870端口服务、加载镜像和编辑日志、初始化RPC服务、资源检查、DN心跳超时判断及安全模式的细节。适合对Hadoop源码感兴趣的读者深入理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:本系列主要对Hadoop生态下的各个组件源码解析做了总结与论述,如有错误欢迎读者提出并补充

本系列将持续更新,希望大家一键三连支持!!!♥♥♥

本系列将持续更新,希望大家一键三连支持!!!♥♥♥

本系列将持续更新,希望大家一键三连支持!!!♥♥♥

NameNode源码解析

Hadoop中NameNode在启动时,先后经历了如下六大子过程:

1.启动9870端口服务

2.加载镜像文件和编辑日志

3.初始化NN的RPC服务端

4.NN启动资源检查

5. DN心跳超时判断

6. 安全模式

请添加图片描述

首先需在pom.xml中增加如下依赖:

<dependencies>
	<dependency>
		<groupId>org.apache.hadoop</groupId>
		<artifactId>hadoop-client</artifactId>
		<version>3.1.3</version>
	</dependency>
	
	<dependency>
		<groupId>org.apache.hadoop</groupId>
		<artifactId>hadoop-hdfs</artifactId>
		<version>3.1.3</version>
	</dependency>
	
	<dependency>
		<groupId>org.apache.hadoop</groupId>
		<artifactId>hadoop-hdfs-client</artifactId>
		<version>3.1.3</version>
		<scope>provided</scope>
	</dependency>
</dependencies>

通过快捷键ctrl+n全局搜索namenode,进入NameNode.java中,再通过ctrl+f,搜索main方法;

之后便到了Initialize()方法之前的创建一个NameNode新对象

在这里插入图片描述


1.1 启动9870端口服务

请添加图片描述

进入初始化Initialize方法后,第一步就是开启9870端口服务:

在这里插入图片描述

其中:
请添加图片描述

在这里插入图片描述

上述操作中:

在这里插入图片描述


1.2 加载镜像文件和编辑日志

请添加图片描述

在这里插入图片描述

需要注意的是从磁盘加载的过程:

请添加图片描述

在这里插入图片描述


1.3 初始化NN的RPC服务端

请添加图片描述

在这里插入图片描述

需要注意:

请添加图片描述

在这里插入图片描述


1.4 NN启动资源检查

请添加图片描述

在这里插入图片描述
NN资源检查:
在这里插入图片描述

在这里插入图片描述

判断资源是否够用:

在这里插入图片描述


1.5 DN心跳超时判断

在这里插入图片描述
进行心跳检查:
在这里插入图片描述

节点存活的判定条件是:

在这里插入图片描述


1.6 安全模式

在这里插入图片描述

NN安全模式的切换:

请添加图片描述

进入安全模式的条件判定:

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丷江南南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值