复习记录一:Hadoop

分布式:服务间出现跨机器、跨进程统称为分布式。
HDFS:分布式存储系统,解决海量数据的存储问题。
Map Reduce:分布式计算框架,基于磁盘进行迭代计算。第一代计算框架

HDFS

组件:

NameNode:使用内存存储集群中的元数据。
DateNode:负责响应客户端对数据块的读写请求,向NameNode汇报自身状态信息。
Block:是HDFS切分文件的尺度,默认是128M。
副本因子:HDFS为了防止数据丢失,允许对其进行备份,最多为3个。

组件作用:

Client:客户端

  • 文件切分。文件上传HDFS时,Client会对文件进行切分,分成一个一个的Block。
  • 与NameNode进行交互,获取文件的位置信息。
  • 与DataNode交互,读取或写入数据
  • Client提供了一些命令用来管理HDFS。如关闭和启动

NameNode:master,就是一个主管、管理者

  • 管理HDFS的命名空间
  • 管理数据块的映射信息
  • 配置副本策略
  • 处理客户端的读写请求

DataNode:Slave。NameNode下达命令,DataNode执行实际的操作

  • 存储实际的数据块
  • 执行数据块的读写操作

SecondaryNameNode:并非NameNode的热备,当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务

  • 辅助NameNode,分担其工作量
  • 定期合并fsimage和edits,并推送给NameNode

1.为什么HDFS不擅长存储小文件?
答:1)HDFS是基于内存存储,小文件过多会占用namenode内存,造成block的浪费。
2)文件过小,寻址时间会大于数据的读写时间,不符合最初设计的原则(使数据的传输速度和硬盘的传输速度接近,在设计上将寻址时间最小化)。

2.SecondaryNameNode和NameNode关系?
fsimage:实质上是Hadoop文件系统元数据的一个永久检查点,其中包含了Hadoop文件系统的所有目录和id的序列化信息。(记录元数据信息)
editlog:存放和是Hadoop的所有更新操作和命令,文件系统客户端执行的所有写操作都会记录大editlog中。(记录元数据修改操作)
SecondaryNameNode:辅助NameNode在运行 期间完成对元数据的整理和备份。

3.NameNode的安全模式?
对HDFS的一种保护机制。
1)在fsimage加载初期会进入安全模式,在此期间系统不接受任何外界信息,当加载完毕后会自动离开安全模式。
2)当NameNode/DateNode空间不足时,会自动进入安全模式。
3)当系统维护时,管理员可以手动的将NameNode切换成安全模式。

4.机架Rack Aware
表示大规模集群中DateNode节点所在的物理主机所属的位置。
机架感知:可以感知到集群中的机器属于哪台机架。

5 .优点
1)高吞吐量。
2)采用流式的数据访问方式:一次写入,多次读取。
3)运用到商业硬件上:节约成本
4)高容错性
5)可扩展
5.缺点
1)延时性高
2)不适合存储大量小文件
3)不支持文件任意位置的修改

Map Reduce

组件:
ResourceManager:负责任务资源的统一调度。管理NodeManager统一资源,启动MRAppMaster。
NodeManager:用于管理本机上的计算资源。默认会将计算资源拆分成8个等份,每个等份抽象成Container。
MRAppMaster:任何一个执行的任务都会有一个MRAppMaster负责YarnChild的执行和监测。
YarnChild:真正执行任务的节点。

1.任务执行的11个步骤。
1)运行job任务。
2)获取ApplicationID|jobID
3)Copy job到HDFS(任务的切片信息,配置信息、代码片段)
4)提交任务给ResourceManager(统一资源的调度,管理NodeManager资源,启动MRAppMaster)
5)消耗一个Container资源,用于启动MRAppMaster
6)MRAppMaster初始化任务,完成任务调度前的准备工作
7)MRAppMaster查询输入切片信息、配置信息,获取任务并行度。
8)MRAppMaster连接RM获取任务资源
9)MRAppMaster连接NM消耗Container|YarnChild
10)YarnChild获取切片信息和代码片段
11)YarnChild执行任务。

2.如何书写一个job作业
1)创建job对象
2)指定输入输出格式类
3)指定输入输出格式
4)设置Map|Reduce逻辑
5)热值Map|Reducer输出key-value类型
6)Job提交

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值