Hadoop 的MapReduce
分布式计算框架
计算思想:靠近数据源计算
设计思路:分而治之
Hadoop的yarn服务
资源管理服务
提供计算资源(cpu,内存)
只负责资源提供,不参与计算过程
resourcemanager
负责管理nodemanager
负责协调整个集群服务的资源分配
所有资源请求都需要交给resourcemanager。
单点故障
resourcemanager不参与具体的计算过程,也不参与计算过程中的资源管理
nodemanager
负责监控机器的运行资源
定时将自己的信息告知给resourcemanager
完成对分配好的资源再分配--对运行程序的资源进行分配管理
applicationmaster
在进行计算时,resourcemanager会生成一个applicationmaster管理计算
applicationmaster负责向resourcemanager申请资源
获取计算的运行状态
applicationmaster 对应一个计算任务,
负责资源回收
计算完成会通知resourcemanager把自己释放
实现高可用需要一主一备,主服务宕机之后,备用服务能启动对外提供功能
•怎么确定谁是主服务,谁是备用服务?
使用zookeeper的节点的唯一性来确定,可以让两个服务同时创建相同节点,谁创建成功,谁作为主服务
•怎么知道服务宕机,并且通知另一个服务进行启动?
zookeeper监听机制,消息订阅与发布 znode
•主服务和备用服务怎么实现数据同步,保证数据一致性?
Qurom Journal Manager服务 JournaNode对数据进行同步备份