Hadoop

简短的通俗易懂的概括视频
Spark和Hadoop详细视频

Hadoop

处理结构化、半结构化数据应运而生的集群,包括HDFS

HDFS

分布式文件系统
hdfs将每一个文件的数据分成多个数据块,每个块默认128MB,将数据分开存储
将数据复制存储在不同的节点上(Q:那不是需要消耗更多的空间了吗?),以防止某个节点崩掉的时候其数据丢失
NameNode(NN):

  1. 负责客户端的响应
  2. 元数据(文件名称、副本数量、block存放的datanode的地址)的管理

DataNode(DN):

  1. 存储block块
  2. 定期向NN发送心跳信息,包括本身和所有block的信息,以及自身的健康状况(不健康NN就不让他放数据了)

机器集群,一个部署NN,其他每个部署一个DN

应用程序可以指定HDFS的block拷贝块的数量,叫做replication factoe(副本因子、副本系数)
HDFS不支持多并发写

HDFS优缺点

优点

  • 高容错
  • 批处理
  • 适合大数据处理
  • 可构建在廉价机器上

缺点

  • 延迟高,不适合做低延迟的数据访问(文件比较大的话,分很多块,找得慢)
  • 不适合小文件存储(namenode存储元数据的大小是固定的,文件太小太多的话,namenode就会占很多内存)

Mapreduce

分map和reduce
特点

  • 用于大量数据的分布式处理
  • 适合离线的批处理
  • 时效性和延迟性很高

map是将数据映射在不同节点上,在不同数据节点上分别计算,最后reduce汇总

官网单词统计代码

YARN

硬件资源调度,分配资源用的,可以将框架都放在一个集群中,靠yarn去分配
由以下部分组成

  • 资源管理器(resource manager)

资源管理器任务:一个集群active的RM只有一个,负责整个集群的资源调度和管理

  • 处理客户端的请求(启动/杀死)
    启动/监控AM(一个任务对应一个AM)
    监控NM
    系统的资源分配和调度
  • 节点管理器(node manager):处理并监控节点资源使用情况

NM的职责:整个集群由n个NM,负责单个节点的资源管理和调度,以及task的使用情况

  • 定期向RM发送心跳信息(汇报本节点的资源使用请求和Container的运行状况)
  • 接受、处理RM的对container的启停命令
  • 应用管理器(application master)

AM:一个应用对应一个AM,负责应用程序的管理

  • 数据切分
  • 为应用程序向RM申请资源(最终跑在container中),并分配给内部任务
  • 与NM通信,以启停task,task是运行在container中的
  • task的监控和容错
  • 容器(container):物质资源的集合

container:对任务CPU、memory、环境变量等的描述

YARN调度过程

YARN调度过程
  1. client向yarn提交作业
  2. RM为任务分配第一个container(运行AM)
  3. RM与对应的NM通信,要求NM在这个container上启动任务程序的AM
  4. AM首先向RM注册,然后会为各个任务申请资源,并监控运行情况
  5. AM采用轮询的方式采用RPC协议向RM申请和领取资源
  6. AM申请到资源后,便向NM通信,要求NM启动任务
  7. NM启动我们任务对应的task

当要创建mapreduce任务时,应用管理器从节点管理器向容器发出资源请求,节点管理器获得资源后传给资源管理器,这样,yarn就可以处理作业请求并管理集群

其他

大数据技术栈
重点关注flink、spark、hive、hbase、zookeeper

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值