Hadoop模块介绍
- Hadoop Common 提供基础设施
- Hadoop HDFS 分布式文件系统
- Hadoop MapReduce 分布式离线并行计算框架
- Hadoop YARN 任务调度与资源管理
HDFS
文件系统 + block块管理 分布式文件系统 组件如下
- NameNode 主节点,存储文件的元数据(文件名,文件目录,生成时间, 备份数目等文件属性),以及每个文件的块列表和块所在的DataNode
- DataNode 在本地文件系统存储块数据,以及块数据的校验和(文件在网络传输中可能损失与本地文件做校验和对比)
- SecondaryName 主要用来监控HDFS状态的后台进程,每隔一段时间获取HDFS元数据的快照
YARN
四大组件
- ResourceManager(RM) 处理客户端请求,启动/监控ApplicationMaster,监控NodeManger,资源调度
- ApplicationMaster(AM) 程序切分,为应用程序申请资源且分配任务,任务监控与容错
- NodeManager(NM) 单个节点资源管理(cpu,内存等),处理ResouceManager(注册资源,心跳,资源情况等),ApplicationMaster的命令
- Container
流程如下
- Client连接RM提交作业,RM返回JobId(ApplicationsManager, ResourceScheduler)
- RM中的ApplicationsManager连接一个NM,NM创建AM处理client作业请求
- AM连接RM中的ApplicationsManager申请NM
- AM去ResourceScheduler给Client申请作业资源(cpu,内存,磁盘,网络)
- AM连接NM,发送Job作业程序和申请到的资源信息
- NM启动Container运行Job的不同任务
- Container进程运行状态实时反馈给AM
- AM反馈任务状态给RM中的ApplicationsManger
- Client可以连接RM或AM查询Job的执行状况