commons
为其他Hadoop模块提供基础??
hdfs
结构
DataNode
执行响应client文件读写
Block (文件分块处理)
大小
一般128M
看平均的处理文件大小,普遍过大甚至可以取到G
2的倍数
最大考虑内存大小??
hdfs-site.xml配置
默认每个块共有三个副本
包括自己
副本存放策略
两机架
三节点
就近的节点保存标准
NameNode
存储元数据
edits——fsimage
edits保存了hdfs的历史命令
编辑日志
fsimage保存节点的信息
文件系统镜像
加载edits和fsimage合并到内存中
元数据
datanode的文件信息
一个block = 0.15k
fs-cluster 访问入口
外端50070
内部8020
监听DataNode
存活时间:3s+10min
SecondaryNameNode
辅助NameNode,进行fsimage和edits合并
避免Namenode下一次合并时间过长问题
执行流程
一次写入多次读取
顺序
1.访问NameNode
加载fsimage,重新执行edits 加载到内存
Q
edits过大,合并过慢,不符合效益?
SecondaryNameNode
不是热备
等待DataNode发送(block report)块报告
等待过程中进入安全模式
99.9%
2.根据NameNode指示,下到DataNode
3.响应用户读取到DataNode里的块
eg
具体文件读入发现只有 1M的时候怎么办?
实际占用和逻辑空间
特点
多台服务器组成
工作中由商务机代替
分布式文件系统
高可靠
高吞吐量
MapReduce
结构
Reduce
结构键值对输入输出
(Map阶段数据汇总)数据分析
Map
数据分组
结构键值对输入输出
输入固定
Key-每行偏移量
value-每行字符串
输出自定义
要求同样是键值对类型(map)
驱动
流程
1、client向集群提交job任务,resourcemanager接收到任务请求
2、resourcemanager收到请求以后,会选择一台nodemanager启动一个applicationmaster
3、applicationmaster向resourcemanager申请资源(运行当前job任务需要哪些nodemanager、每个nodemanager需要多少CPU、MEM...)
4、resourcemanager把对应资源信息响应给applicationmaster
5、applicationmaster收到以后,调度指挥其他nodemanager运行任务
6、相关nodemanager接受任务并运行任务(map\reduce)
7、nodemanager任务运行结束以后会向applicationmaster报告
8、applicationmaster向resourcemanager报告,并反馈结果给client
特点
分布式离线并行计算模型
只有相关任务启动才有相应线程
用途
周期性数据
Yarn
特点
Hadoop操作系统
任务调度和资源管理
Hadoop2.x后才出现
启动流程
ResourceManager 一个
NodeManager多个
运行具体的MapReduce任务
服务启动 RM和NM
一个端口只能被一个服务监听
架构
resourcemanager
子主题 1
子主题 2
子主题 3
nodemanager
子主题 1
子主题 2
子主题 3
applicationmaster
子主题 1
子主题 2
子主题 3
子主题 4
Container
子主题 1