Hadoop 爆炸之路
Hadoop Distributed File System 简称 HDFS,是一个分布式文件系统。HDFS 有着高容错性,被设计用来部署在低廉的硬件上来提供高吞吐量的访问应用程序的数据,适合超大数据集的应用程序。 MapReduce MapReduce是一种编程模型,包含Map(映射) 跟 Reduce(归约)。你可以认为是归并排序的深入化思想。 Yarn Apache Hadoop YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。 Common 组件 log组件。 独有RPC体系ipc、I/O系统、序列化、压缩。 配置文件conf。 公共方法类,比如checkSum校验。 2 HDFS 产生背景: 随着数据量变大,数据在一个OS的磁盘无法存储了,需要将数据分配到多个OS管理的磁盘中,为了方面管理多个OS下的磁盘文件,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统,HDFS 是通过目录树定位文件。需注意 HDFS 只是分布式文件系统中的其中一种。 2.1 HDFS 优缺点 2.1.1 优点 高容错性 数据会自动保存多个副本,默认为3个,通过增加副本来提高容错性。 某个副本丢失后系统会自动恢复。 高扩展性 HDFS集群规模是可以动态伸缩的。 适合大数据处理 数据规模达到GB/TB/PB级别。 文件规模达到百万规模以上。 流式访问,它能保证数据的一致性。 低成本,部署廉价机器 提高了商业化能了。 统一对外接口,Hadoop本身用Java编写,但基于此的应用程序可以用其他语言编写调用。 2.1.1 缺点 做不到低延时 Hadoop对高吞吐做了优化,牺牲了获取数据的延迟,比如毫秒级获取数据在Hadoop上做不到。 不适合存储大量小文件 存储大量小文件的话,它会占用 NameNode 大量的内存来存储文件、目录和块信息。因此该文件系统所能存储的文件总数受限于 NameNode 的内存容量,根据经验,每个文件、目录和数据块的存储信息大约占150字节。 小文件存储的寻道时间会超过读取时间,它违反了HDFS的设计目标。 无法修改文件 对于上传到HDFS上的文件,不支持修改文件,仅支持追加。HDFS适合一次写入,多次读取的场景。 无法并发写入 HDFS不支持多用户同时执行写操作,即同一时间,只能有一个用户执行写操作。 2.2 HDFS 组成架构 2.2.1 Client 客户端主要有如下功能: 文件切分,文件上传 HDFS 的时候,Client 将文件切分成一个一个的Block,然后进行存储。 与 NameNode 交互,获取文件的位置信息。 与 DataNode 交互,读取或者写入数据。 Client 提供一些命令来管理 HDFS,比如启动或者关闭 HDFS。 Client 可以通过一些命令来访问 HDFS。 2.2.2 NameNode NameNode 简称NN,就是HDFS中的 Master,是个管理者,主要有如下功能: 管理HDFS的名称空间。 配置副本策略 处理客户端读写请求。 管理数据块(Block)映射信息。 (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |