文档章节

HDFS详解

A__17
 A__17
发布于 2017/08/09 01:09
字数 817
阅读 120
收藏 0

码上生花,ECharts 作品展示赛正式启动!>>>

结构:一个HDFS集群是由一个NameNode、一个Secondary NameNode和若干个DataNode组成。

1)NameNode:

	概念:NameNode是HDFS主从结构中主角色的扮演者,它维护着整个文件系统的目录树,维护信息(即HDFS的元数据)存储在本地的fsimage文件和edits文件中。
	
		fsimage:文件系统镜像文件,内存中的HDFS元数据序列化到磁盘上的文件,即HDFS元数据的快照,NameNode启动的时候,默认会加载最新的fsimage。
		edits:	fsimage的编辑日志。
		fstime:最近一次checkpoint的时间。
		
	特点:
		1)NameNode始终在内存中保存metadata,用于处理“读”请求。
		2)NameNode收到“写”请求后,会首先向edits文件中添加日志,成功添加日志后,才会去修改内存中的元数据,并且向客户端返回。

2)Secondary NameNode:

	概念:用于定期合并文件系统镜像和它的编辑日志。
	
	说明:NameNode将改动的内容写到edits中,Secondary NameNode将定期地合并fsimage和edits。
	
	执行过程:
		1)通知NameNode切换edits文件。
		2)从NameNode上下载fsimage文件和edits文件。
		3)把二者合并(先将fsimage加载到内存,然后合并edits),生成新的fsimage文件,并保存在本地。
		4)将新生成的fsimage文件推送给NameNode,NameNode会用最新的fsimage文件替换掉旧的fsimage文件
		
	默认触发合并的时机:每小时合并一次 或 edits文件达到64MB时进行合并

3)DataNode:

	概念:DataNode是HDFS主从结构中从角色的扮演者,它在本地文件系统存储文件块数据,并在NameNode的调度下进行数据块的创建、删除和复制工作。

特点:

1)适合存储超大文件。
2)运行于廉价的硬件之上。
3)流式数据访问:HDFS认为,一次写入,多次读取是最高效的访问模式。

短板:

1)实时的数据访问弱:由于HDFS针对高数据吞吐量做了优化,故牺牲了读取数据的速度,对于响应时间是秒或毫秒的数据访问,可以使用HBase。
2)会占用大量内存:当hadoop启动时,NameNode会将所有的元数据读到内存中,以此来构建目录树。
3)HDFS中的文件只能有一个写入者,并且只能在文件末尾添加数据。

相关概念:

1)文件块:
	1>说明:HDFS中的文件块默认大小:hadoop1.0为64MB;hadoop2.0为128MB,可以通过hdfs-site.xml文件的dfs.block.size属性配置。	
	2>优点:
		1)可以储存比磁盘大的文件:通过把文件分成若干分片实现。
		2)实现了元数据和数据的分开储存和管理。
		3)容错性高。
	3>文件块放置的策略:
		一个文件块默认会有3份备份,一份放在NameNode指定的DataNode上,另一份放在与指定的DataNode不在同一台机器上的DataNode上,最后一份放在与指定的DataNode在同一机架(Rack)上的DataNode上。
		优点:解决了同一机架中失败的情况以及不同机架之间的数据拷贝会带来的性能问题。

© 著作权归作者所有

A__17
粉丝 3
博文 121
码字总数 149658
作品 0
朝阳
私信 提问
加载中
请先登录后再评论。

暂无文章

springboot单元测试配置

##SpringBoot进行单元测试 ####需要的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><excl......

RandomObject
16分钟前
17
0
看了同事的代码,我忍不住写了这份代码指南

❝ 作者:xybaby 链接:https://www.cnblogs.com/xybaby/p/11335829.html ❞ 前言 写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、...

osc_fvp5wdwk
24分钟前
24
0
Flutter基础篇(2)-- 老司机用一篇博客带你快速熟悉Dart语法

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/3d927a7bf020 转载请标明出处: https://www.jianshu.com/p/3d927a7bf020 本文出自 AWeiLoveAndroid的博客...

osc_dg21zk4i
25分钟前
18
0
如何在小程序制作表单活动?

比起纸质的表单,电子版表单更加受市场的青睐,尤其是随着越来越多的东西都被赋予了营销属性,不只是只有广告才能够做宣传,比如说表单也不仅仅只是一个收集信息的工具,我们对表单加以包装,...

osc_9bje7o1h
25分钟前
10
0
Intel x710万兆 SR-IOV 网卡驱动升级

目录 文章目录 目录 环境 获取最新驱动 安装 环境 CentOS7 Intel x710 获取最新驱动 官方地址:https://downloadcenter.intel.com/zh-cn/product/83967/Intel-Ethernet-Converged-Network-A...

osc_b9r67jnt
26分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部