【大数据之Hadoop】三、HDFS概述及组成框架

解决海量数据的存储问题,是分布式的文件存储系统,通过目录树来定位文件,适合一次写入多次读出的场景。

优点:
(1)高容错性: 数据自动保存多个副本,,某副本丢失后可以自动恢复。
(2)适合处理大数据,包括数据规模和文件数量。

缺点:
(1)不适合 低延时的数据访问。
(2)无法高效对大量小文件进行存储:因为存储大量小文件时,会消耗很多存储空间用于NameNode节点来存储文件目录和文件块信息;并且小文件的寻址时间会超过读取时间。
(3)不支持并发写入、文件随机修改:一个文件只能有一个写,不允许多个线程同时写;只支持数据追加,不支持修改。

组成架构

在这里插入图片描述
(1)NameNode(nn):相当于主管,下达命令。
管理HDFS的名称空间,即所有文件的元数据;
设置副本的策略;管理数据块的映射信息;
处理客户端的读写请求。

(2)DataNode:执行实际操作。
存储实际的数据,执行数据块的读写操作。

(3)Secondary NameNode(2nn):非NameNode的热设备,当NameNode挂掉是不能马上替换NameNode并提供服务。
辅助NameNode工作,定期合并镜像文件和工作日志并发送给NameNode;
可以恢复一部分NameNode。

(4)Client:负责文件切分,然后上传;
与NameNode交互,获取文件的位置;
与DataNode交互,读写数据;
提供命令管理HDFS(NameNode的格式化),和访问HDFS(对HDFS进行增删改查操作)。

文件块大小问题(重点)

HDFS中的文件在物理上是分块存储(Block),块的大小有配置参数规定,默认128M。
若传输时间为10ms则找到目标块的时间为10ms,最佳状态下:寻址时间=传输时间x1%。

文件块不能设置太大也不能设置太小:
若HDFS的块设置太小,则会增加寻址时间;若HDFS的块设置太大,则磁盘传输数据的时间会明显大于定位块开始的位置所需要的时间,不利于并发运算。

文件块大小与硬盘从读写速度有关,一般默认128M或256M

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
⼤数据技术之Hadoop介绍 1.⼤数据概述 ⼤数据概述 ⼤数据是指⽆法利⽤传统计算技术进⾏处理的⼤规模数据集合。⼤数据概念不再只是数据,⼤数据已经成为⼀个全⾯的主题概念,包含各类 ⼯具、技术以及框架。 ⼤数据包括各类信息设备以及应⽤程序所产⽣的数据。⼤数据所涵盖的⼀些数据领域如下: ⿊盒⼦数据:是指直升机、普通飞机及喷⽓式飞机等的组成部分。该数据采集了飞⾏机组⼈员的声⾳、麦克风和⽿机的录⾳以及飞机的 性能信息。 社交媒体数据:社交媒体诸如Facebook和Twitter,拥有⼈们发布的信息和观点。 证券交易数据:证券交易数据包括不同公司客户做出的"买⼊"和"卖出"决策信息。 电⽹数据:电⽹数据是指⼀个特定节点相对于基站的耗电信息。 搜索引擎数据:搜索引擎从不同数据库中抽取的⼤规模数据。 因此,⼤数据包括巨⼤规模、超⾼速度、类型可扩展的数据。⼤数据包括种类型的数据: 结构化数据:关系型数据。 半结构化数据:XML数据。 ⾮结构化数据:Word⽂档、PDF⽂档、⽂本、媒体⽇志。 2.⼤数据技术 ⼤数据技术对于提供更精确分析是⾮常重要的。更精确地分析将会导致更具体地决策,从⽽⼤⼤提⾼⼯作效率、降低成本,减少业务风险。 要充分利⽤⼤数据,就需要⼀个基础架构,能够实时管理和处理⼤规模结构化、⾮结构化数据,并能够保障数据隐私和安全。 市场上存在有不同公司提供的技术,⽤来处理⼤数据。下⾯介绍其中的两类技术: (1)运营⼤数据 这类技术产品,如MongoDB,针对已采集和存储的数据,提供实时管理、交互式处理功能。 NoSQL⼤数据系统,充分利⽤过去⼗年流⾏的新型云计算架构,⽀持⼤规模计算,提供⾼效、廉价的计算能⼒。基于这种⽅案,⼤数据管 理的实施⼯作更容易、更便宜、更快速。 ⼀些NoSQL系统能够⽀持模式识别、实时数据处理,就不再需要数据专家和其他基础架构的⽀持。 (2)分析⼤数据 这类技术产品包括⼤规模并⾏处理(MPP)数据库系统和MapReduce,提供⽀持回溯和复杂分析的分析功能,可能会涉及到绝⼤多数数 据。 MapReduce提供⼀种新型的数据分析⽅式,与SQL数据分析能⼒互补。基于MapReduce的系统能够实现扩充,从单⼀服务器扩充到成千 上万台不同等级的终端机器。 3.⼤数据解决⽅案 3.1 传统⽅案 在该⽅案中,企业单位利⽤⼀台计算机来存储和处理⼤数据。数据被保存在⼀个关系型数据库(RDBMS)系统中,诸如Oracle数据库、 MS SQL Server或者DB2;同时,还需要编写复杂软件与这些数据库进⾏交互,处理所需数据,并向⽤户展⽰数据,以及数据分析。 该⽅案存在⼀定的限制。当所拥有数据规模不⼤,能够被标准数据库服务器处理时,该⽅案能够运⾏良好。但是,当⾯对超⼤规模数据时, 传统数据库服务器将难以处理。 3.2 Google⽅案 Google利⽤MapReduce算法来处理⼤数据。该算法把⼤数据分解为很多、很⼩的部分,并把这些部分分派给⽹络相连的计算机进⾏处理, 之后收集处理结果,汇总形成最终结果数据集。 上图展⽰了基于硬件产品的解决⽅案⽰意图,这些硬件产品可能是单⼀CPU的机器或者是功能更强⼤的服务器。 3.3 Hadoop 2005年,Doug Cutting、Mike Cafarella及其团队,基于Google⽅案,开始设计研发⼀种开放式源代码项⽬,名为HADOOPHadoop 利⽤MapReduce算法来运⾏程序,以并⾏处理⽅式在不同CPU节点上处理数据。总之,Hadoop框架能够研发基于计算机集群运⾏的应⽤ 程序;并能够针对⼤规模数据进⾏全部统计分析。 4.haadoop介绍 Hadoop是基于JAVA语⾔开发的Apache开源框架,⽀持跨计算机集群的⼤规模数据集的分布式处理。基于Hadoop框架的应⽤程序,能够 ⽀持跨计算机集群的分布式存储和计算。Hadoop框架设计旨在从单⼀服务器扩展到上千台机器,每⼀台机器能够提供本地计算和存储。 4.1 Hadoop架构 Hadoop框架包括以下四个模块: Hadoop通⽤:这些模块是其他Hadoop模块所需要的Java类库和⼯具。这些类库提供⽂件系统和操作系统级别的抽象,包含启动 Hadoop必须的Java⽂件和脚本。 Hadoop YARN:这是⼀个⽤于任务排班和集群资源管理的框架Hadoop分布式⽂件系统(HDFS):⼀个分布式⽂件系统,提供⾼吞吐量的应⽤程序数据访问⽅式。 Hadoop MapReduce:这是⼀个基于YARN的系统,⽤于⼤规模数据集的并⾏处理。 ⾃2012年以来,术语"Hadoop"不仅仅是指以上介绍的基础模块,还包括基于Hadoop或者与Hadoop⼀起安装的附加软件包,诸如 Apache Pig, Apache Hive, Apa

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值