在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
HDFS有着高容错性特点,且设计用来部署在低廉的硬件上,提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求,可以实现流的形式访问文件系统中的数据。
Hadoop分布式文件系统HDFS是一种被设计成适合运行在通用硬件上的分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。它能提供高吞吐量的数据访问非常适合大规模数据集上的应用。
HDFS概念
HDFS(Hadoop Distributed File System)是 Apache Hadoop 项目的一个子项目. Hadoop 非常适于存储大型数据 (比如 TB 和 PB), 其就是使用 HDFS 作为存储系统. HDFS 使用多台计算机存储文件, 并且提供统一的访问接口。

HDFS的四个基本组件:HDFS Client、NameNode、DataNode和Secondary NameNode。
HDFS采用主从结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。
Client
Client是客户端。HDFS Client文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储。Client 提供一些命令来管理 和访问HDFS,比如启动或者关闭HDFS。
NameNode
NameNode就是 master,它是一个主管、管理者。管理 HDFS 元数据(文件路径,文件的大小,文件的名字,文件权限,文件的block切片信息)。
NameNode管理 Block 副本策略:默认 3 个副本,处理客户端读写请求。
DataNode
DataNode就是Slave。NameNode下达命令,DataNode 执行实际的操作。DataNode存储实际的数据块,执行数据块的读/写操作。定时向namenode汇报block信息。
Secondary NameNode
SecondaryNameNode不是NameNode的备份。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务。
辅助 NameNode,分担其工作量。在紧急情况下,可辅助恢复 NameNode。
副本机制
HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件。它将每个文件存储成一系列的数据块,这个数据块被称为block,除了最后一个,所有的数据块都是同样大小的。
为了容错,文件的所有block都会有副本。每个文件的数据块大小和副本系数都是可配置的。
在hadoop2 当中, 文件的 block 块大小默认是 「128M」(134217728字节)。

如图所示,一个大小为300M的a.txt上传到HDFS中,需要进行128M的切分,不足128M分为到另一block中。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
大数据应用技术的发展方向分析
如今,大数据的应用对企业公司以及个人都产生了深远影响,本文就来预测一下大数据应用技术的发展方向。可以预见的是,数据资产管理、数据资产管理、AI驱动的数据基础设施、面向AI的分布式计算框架和数据安全这些都将成为大数据应用技术的发展方向。对大数据应用技术感兴趣的小伙伴,可以接着往下看小编的的详细分析。
7233
2019-10-29 17:24:18
程序员常用数据库有哪些?
数据库就是数据存储的仓库,任何互联网产品都需要使用数据库保存运营过程中所产生的各种数据。SQL是一种数据库查询语言和程序设计语言,主要就是用于管理数据库中的数据,如存取数据、查询数据、更新数据等。在大数据技术不断提升与应用的市场背景下,数据库技术也得到很大的发展,目前数据库产品非常多,最常用的数据库有:Oracle、DB2、MongoDB、SQLServer、MySQL等。
10397
2019-12-05 18:48:08
大数据工程师加班多吗?工作强度大不大?
大数据时代的来临,使得大数据工程师一职也变得火爆起来。许多想要学习大数据并今后投身于此的伙伴,在羡慕这一行广阔发展前景和高额薪资待遇的同时,难免也会担心这样的问题:大数据工程师加班多吗?工作强度大不大?其实我们都明白高薪的工作肯定不轻松的道理,但是大数据工程师的工作强度,也远远没有大家想象的没那么大。而且不同的公司,加班的强度也是不一样的,因此不能一概而论。
14649
2019-12-05 20:33:40
大数据课程有哪些实战项目?
随着大数据行业的蓬勃发展,就业市场对于大数据从业者也提出了更高的要求。为了培养出真正掌握大数据开发能力的人才,博学谷的大数据课程除了有大数据理论知识的系统学习,还有涉及各个领域的大数据开发实战项目。那么大数据课程有哪些实战项目呢?一起来看看吧!
7266
2020-07-21 16:16:30
如何获取大数据行业高薪岗位offer?
想要拿到高薪就要成为站在金字塔的人,在互联网行业需要保持不断的学习。学习大数据先思考自身未来想往哪个方向发展,想要入门快、基础深厚,并且需求多应用广建议从JAVA开始学起,找到适合自己的学习方法。
4452
2021-03-31 16:13:39
