一:课程结构
二:hadoop是什么
hadoop是适合大数据的分布式存储与计算的平台
三:数据的分布式存储
四:hadoop中的概念
在分布式存储系统中,分散在不同节点中的数据可能属于同一个文件,为了组织众多的文件,把文件可以放到不同的文件夹中,文件夹可以一级一级的包含。我们把这种组织形式称为命名空间(namespace)。命名空间管理着整个服务器集群中的所有文件。
集群中不同的节点承担不同的职责。负责命名空间职责的节点称为主节点(master node),负责存储真实数据职责的节点称为从节点(slave node)。主节点负责管理文件系统的文件结构,从节点负责存储真实的数据,称为主从式结构(master-slaves)。用户操作时,应该先和主节点打交道,查询数据在哪些从节点上存储,然后再从从节点读取。在主节点,为了加快用户访问的速度,会把整个命名空间信息都放在内存中,当存储的文件越多时,那么主节点就需要越多的内存空间。在从节点存储数据时,有的原始数据文件可能很大,有的可能很小,大小不一的文件不容易管理,那么可以抽象出一个独立的存储文件单位,称为块(block)。数据存放在集群中,可能因为网络原因或者节点硬件原因造成访问失败,最好采用副本(replication)机制,把数据同时备份到多台节点中,这样数据就安全了,数据丢失或者访问失败的概率就小了。
五:hdfs2的架构
负责数据的分布式存储
主从结构
主节点,可以有2个: namenode
从节点,有很多个: datanode
namenode负责:
接收用户操作请求,是用户操作的入口
维护文件系统的目录结构,称作命名空间
datanode负责:
存储文件
六:yarn的架构
资源的调度和管理平台
主从结构
主节点,可以有2个: ResourceManager
从节点,有很多个: NodeManager
ResourceManager负责:
集群资源的分配与调度
MapReduce、Storm、Spark等应用,必须实现ApplicationMaster接口,才能被RM管理
NodeManager负责:
单节点资源的管理
七:mapreduce的架构
依赖磁盘io的批处理计算模型
主从结构
主节点,只有一个: MRAppMaster
MRAppMaster负责:
接收客户提交的计算任务
把计算任务分给TaskTrackers执行,即任务调度
监控TaskTracker的执行情况
八:hadoop的特点
扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
可靠性(Reliable):hadoop能自动地维护数据的多份副本,并且在任务失败后能自动地重新部署(redeploy)计算任务。