14 NAMENODE的工作机制

简介: 14 NAMENODE的工作机制
问题场景

1、集群启动后,可以查看文件,但是上传文件时报错,打开web页面可看到namenode正处于safemode状态,怎么处理?

2、Namenode服务器的磁盘故障导致namenode宕机,如何挽救集群及数据?

3、Namenode是否可以有多个?namenode内存要配置多大?namenode跟集群数据存储能力有关系吗?

4、文件的blocksize究竟调大好还是调小好?

……

诸如此类问题的回答,都需要基于对namenode自身的工作原理的深刻理解。

NAMENODE职责

1.负责客户端请求的响应

2.元数据的管理(查询,修改)

元数据管理

namenode对数据的管理采用了三种存储形式:

  • 内存元数据(NameSystem)
  • 磁盘元数据镜像文件
  • 数据操作日志文件(可通过日志运算出元数据)

存储机制:

A.内存中有一份完整的元数据(内存meta data)
B.磁盘有一个“准完整”的元数据镜像(fsimage)文件(在namenode的工作目录中)
C.用于衔接内存metadata和持久化元数据镜像fsimage之间的操作日志(edits文件)

元数据手动查看:

可以通过hdfs的一个工具来查看edits中的信息

bin/hdfs oev -i edits -o edits.xml
bin/hdfs oiv -i fsimage_0000000000000000087 -p XML -o fsimage.xml

元数据的checkpoint:

每隔一段时间,会由secondary namenodenamenode上积累的所有edits和一个最新的fsimage下载到本地,并加载到内存进行merge(这个过程称为checkpoint)。

checkpoint的详细过程:

checkpoint操作的触发条件配置参数:

dfs.namenode.checkpoint.check.period=60  #检查触发条件是否满足的频率,60秒
dfs.namenode.checkpoint.dir=file://${hadoop.tmp.dir}/dfs/namesecondary
#以上两个参数做checkpoint操作时,secondary namenode的本地工作目录
dfs.namenode.checkpoint.edits.dir=${dfs.namenode.checkpoint.dir}
dfs.namenode.checkpoint.max-retries=3  #最大重试次数
dfs.namenode.checkpoint.period=3600  #两次checkpoint之间的时间间隔3600秒
dfs.namenode.checkpoint.txns=1000000 #两次checkpoint之间最大的操作记录

checkpoint的附带作用:

namenode和secondary namenode的工作目录存储结构完全相同,所以,当namenode故障退出需要重新恢复时,可以从secondary namenode的工作目录中将fsimage拷贝到namenode的工作目录,以恢复namenode的元数据。

目录
相关文章
|
6月前
|
存储
15 DATANODE的工作机制
15 DATANODE的工作机制
45 0
|
4天前
|
存储 Java API
HDFS如何处理故障和节点失效?请解释故障恢复机制。
HDFS如何处理故障和节点失效?请解释故障恢复机制。
69 0
|
7月前
|
存储 缓存 运维
13 HDFS的工作机制
13 HDFS的工作机制
23 0
|
11月前
|
NoSQL API Redis
HDFS 如何实现故障自动转移
HDFS 如何实现故障自动转移
93 0
|
存储 缓存 块存储
HDFS工作机制和读写流程
HDFS工作机制和读写流程
135 0
HDFS工作机制和读写流程
|
SQL 分布式计算 Hadoop
Hadoop主节点宕机第二节点补救
Hadoop主节点宕机第二节点补救
343 0
Hadoop主节点宕机第二节点补救
|
存储 机器学习/深度学习 分布式计算
Hadoop中的DataNode、工作机制、数据完整性、掉线时限参数设置
Hadoop中的DataNode、工作机制、数据完整性、掉线时限参数设置
Hadoop中的DataNode、工作机制、数据完整性、掉线时限参数设置
|
存储 分布式计算 Hadoop
Hadoop的namenode的管理机制,工作机制和datanode的工作原理
HDFS前言:   1) 设计思想     分而治之:将大文件、大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析;   2)在大数据系统中作用:     为各类分布式运算框架(如:mapreduce,spark,tez,……)提供数据存储服务   3...
1902 0
|
分布式计算 Hadoop 开发者
MapTask 工作机制.| 学习笔记
快速学习 MapTask 工作机制.
153 0
MapTask  工作机制.| 学习笔记
NameNode和SecondaryNameNode工作机制
NameNode启动时,先滚动Edits并生成一个空的edits.inprogress,然后加载Edits和Fsimage到内存中,此时NameNode内存就持有最新的元数据信息。