码迷,mamicode.com
首页 > 其他好文 > 详细

大数据第一阶段

时间:2020-07-26 23:10:55      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:文件系统   接收   开发   ica   大发   学习   管理者   版本   切分   

1 Hadoop是什么
1.hadoop是一个由Apache基金会所开发的分布式系统基础架构。
2.主要解决,海量数据的储存和海量数据的分析计算问题。
3.广义来说,hadoop通常是指一个更广泛的概念----Hadoop生态圈。
 Hadoop三大发行版本
Hadoop三大发行版本:Apache、Cloudera、Hortonworks。
Apache版本最原始(最基础)的版本,对于入门学习最好。
Cloudera在大型互联网企业中用的较多。
Hortonworks文档较好。
 Hadoop的优势(4高)
1.高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。
2.高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
3.高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
4.高容错性:能够自动将失败的任务重新分配。
HDFS的局限
    HDFS的上述种种特点非常适合于大数据量的批处理,但是对于一些特点问题不但没有优势,而且有一定的局限性,主要表现以下几个方面:
    1、不适合低延迟数据访问
      如果要处理一些用户要求时间比较短的低延迟应用请求(比如毫秒级、秒级的响应时间),则HDFS不适合。HDFS是为了处理大型数据集而设计的,主要是为了达到高的数据吞吐量而设计的,
    延迟时间通常是在分钟乃至小时级别。
      对于那些有低延迟要求的应用程序,HBase是一个更好的选择,尤其是对于海量数据集进行访问要求毫秒级响应的情况,单HBase的设计是对单行或少量数据集的访问,对HBase的访问必须提供主键或主键范围。
    2、无法高效存储大量小文件
    3、不支持多用户写入和随机文件修改
      在HDFS的一个文件中只有一个写入者,而且写操作只能在文件末尾完成,即只能执行追加操作。
 HDFS架构概述
1.NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生存时间,副本数,文件权限),以及每个文件的快列表和块所在的DataNode等。
2.DataNode(dn):在本地文件系统储存文件块数据,以及块数据的校检和。
3.Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
HDFS是分布式文件系统,有高容错性的特点,可以部署在价格低廉的服务器上,主要包含namenode和datanode。
Namenode是hdfs中文件目录和文件分配管理者,它保存着文件名和数据块的映射管理,数据块和datanode列表的映射关系。其中文件名和数据块的关系保存在磁盘上,但是namenode上不保存数据块和datanode列表的关系,该列表是通过datanode上报建立起来的。
Namenode上的有三种交互,1、client访问namenode获取的相关datanode的信息。2、datanode心跳汇报当前block的情况。3、secondarynamenode做checkpoint交互。
DataNode它负责实际的数据存储,并将数据息定期汇报给NameNode。DataNode以固定大小的block为基本单位组织文件内容,默认情况下block大小为128MB。当用户上传一个大的文件到HDFS上时,该文件会被切分成若干个block,分别存储到不同的DataNode;同时,为了保证数据可靠,会将同一个block以流水线方式写到若干个(默认是3,该参数可配置)不同的DataNode上。这种文件切割后存储的过程是对用户透明的。
SecondaryNameNode,用来辅助namenode进行元数据的合并,并且传回到namenode。
 YARN架构概述
YARN主要包括几种角色
1.ResourceManager(RM):主要接收客户端任务请求,接收和监控NodeManager(NM)的资源情况汇报,负责资源的分配与调度,启动和监控ApplicationMaster(AM),一个集群只有一个。
2.NodeManager:主要是节点上的资源管理,启动Container运行task计算,上报资源、container情况给RM和任务处理情况给AM,整个集群有多个。
3.ApplicationMaster:主要是单个Application(Job)的task管理和调度,向RM进行资源的申请,向NM发出launch Container指令,接收NM的task处理状态信息。每个应用有一个。
4.Container:是YARN中资源的抽象,它封装了某个节点上一定量的资源(CPU和内存两类资源)。
 MapReduce架构概述

大数据第一阶段

标签:文件系统   接收   开发   ica   大发   学习   管理者   版本   切分   

原文地址:https://www.cnblogs.com/fyuy65/p/13381799.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!