大数据生态圈学习笔记

第一章 生态圈概述

1.Hadoop版本区别:
Hadoop1.0:HDFS+MapReduce
Hadoop2.0:HDFS+YARN+(MapReduce+Others)
2.分布式存储系统HDFS(Hadoop Distributed File System):提供高可靠性、高扩展性、高吞吐率的数据存储服务。
3.资源管理系统YARN(YetAnother Resource Negotiator):集群资源的统一管理和调度,是的多个计算架构可以运行在一个集群中。
4.分布式计算框架MapReduce:易编程、高容错性、高扩展性,高吞吐量低性能,处理离线数据。
5.HDFS基本原理:讲文件分成等大的数据块,冗余的存放到多台机器上,将数据切分、容错、负责均衡封装,可将HDFS看成一个容量巨大、高容错性的磁盘。
6.除MR以外的其他计算架构:
在这里插入图片描述

7.MapReduce工作流程:
在这里插入图片描述

7.Hive:基于MR的数据仓库,解决海量结构化日志数据的统计,定义了一种类SQL查询的语言HQL,通常用于离线数据处理,可以认为HQL->MR的语言翻译器。
8.PIG和HIVE大致原理和功能一样:PIG定义了PigLatin流语言,HIVE是类SQL的HQL。
9.Mahout:基于机器学习和数据挖掘的计算库。
10.Hbase:多维数据库。
11.Zookeeper:解决分布式环境下的数据管理问题:统一命名、状态同步、配置同步、集群管理。
12.Sqoop:连接Hadoop与传统数据库之间的桥梁。
13.Flume:日志手机工具。
14.Oozie:作业流调度系统。

第二章HDFS概述

1.HDFS:
①.易于扩展的分布式文件系统–通过增加机器线性的扩充存储能力。
②.可运行在大量普通廉价机器上,提供容错能力。
2.优点:
①.高容错性:数据自动保存多个副本,副本丢失后自动恢复。
②.适合批处理:移动计算而非数据,数据位置暴露给计算框架。
③.适合大数据处理:GB\TB\甚至PB。
④.流式文件访问:一次性写入不能修改,可重新写入修改后数据。
⑤.可构建在廉价的机器上:通过多副本提高可靠性,提供容错和恢复机制。
3.缺点:
①.不适合低延迟的数据访问(非实时)。
②.不适合小文件存取。
③.不适合并发写入、文件随机修改(只有一个写入操作,不支持追加修改)。
4.HDFS的思想:把数据文件切分成大小等大的BLOCK块,把BLOCK块以多副本的行式存放在多个DATANODE上,在NAMENODE上保存数据文件与BLOCK块的映射和BLOCK块和DATANODE的映射,读取时从多个DATANODE上读取使负载均衡。
5.NAMENODE作用:管理HDFS的名称空间、管理数据块映射信息、处理读写请求。
注:2.0中有两个NAMENODE:Active Namenode 、Standby Namenode其中Active Namenode正常运行,Standby Namenode为其的一个热备,如果故障,则切换到Standby Namenode上正常运行。
6.DATANODE作用:存储实际的数据块,执行数据块的读写。
7.Client作用:切分数据块、与NAMENODE交互,获取文件信息、与DATANODE交互,读取或写入数据。
8.BLOCK:默认数据块大小为64MB(可配置),如不足64MB则单独存成一个BLOCK,默认情况下每个BLOCK有三个副本(可配置)。
9.HDFS写入流程:
在这里插入图片描述

HDFS client 通过distributed FileSystem(类)请求NameNode写入操作领取写入的地址,通过FSData OutputStream(类)访问DataNode,将BLOCK块切分成更小的package后写入第一个DataNode,第一个DataNode会把已写入的package传输给第二个DataNode,同时向FSData OutputStream(类)申请第二个切分的package,依此类推写入全部的BLOCK。
10.HDFS读流程:
在这里插入图片描述

11.HDFS副本放置策略:第一个副本放置在同client的节点上,第二个副本放置在不同机架的某个节点,第三个副本放置在第二个副本的机架的不同与第二个的节点,其他副本随机。
12.常见的三种错误情况及HDFS容错处理:
①.文件损坏:读取前进行校验,如不成功认定损坏则读取副本。
②.网络或者机器宕机:DataNode定期向NameNode发heartbeat,如长时间未发送heartbeat则NameNode认定其损坏,在其他DataNode上重构损坏节点的数据文件。
③.NameNode宕机:多分存储元信息、主备实时切换。
13.HDFS不适合存储小文件的原因:一个Namenode的内存是有限的,一个BLOCK元信息消耗150B内存,不足64MB的BLOCK也会消耗其内存。
14.与HDFS的交互:shell命令、JAVA API、REST API、FUSE、C/C++、PYTHON、PHP等。
15.2.0的新特性:可多个NameNode管理多个DataNode、一个节点中可存在多种异构的存储介质(异构层级存储结构)、HDFS快照、HDFS权限管理机制ACL。

第三章YARN概述

1.架构:
在这里插入图片描述

2.yarn的产生背景:资源利用不平衡,其产生提高其利用率,并可兼容各种计算架构,将多个计算框架集成在一个集群中,并使其数据共享。
3.ResourManager:整个集群只有一个,负责集群资源的统一管理和调度(已基于ZK实现高可用,有多个ResourManager),包含schedule(分配资源)和Applicationmanger(应用的管理与监控)。
4.NodeManager:有多个,负责单节点资源管理和使用。
5.ApplicationMaster:每个应用有一个,负责应用程序的管理。
6.Container:任务的运行环境。
7.运行过程:
在这里插入图片描述

(1).client向RM提交应用程序,其中包括启动该应用的ApplicationMaster的必须信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
(2).ResourceManager启动一个container用于运行ApplicationMaster。
(3).启动中的ApplicationMaster向ResourceManager注册自己,启动成功后与RM保持心跳。
(4).ApplicationMaster向ResourceManager发送请求,申请相应数目的container。
(5).申请成功的container,由ApplicationMaster进行初始化,container的启动信息初始化后,AM与对应的NodeManager通信,要求NM启动container。
(6).NM启动启动container。
(7).container运行期间,ApplicationM

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值