HDFS
HDFS 采用Master/Slave的架构来存储数据,
这种架构主要由四个部分组成,分别为
HDFS Client、 NameNode 、 DataNode 和 Secondary NameNode
NameNode:就是 master,它是一个主管、管理者
DataNode:就是Slave。NameNode 下达命令,DataNode 执行实际的操作
YARN
YARN仅支持CPU和内存两种资源,且使用了轻量级资源隔离机制Cgroups进行资源隔离
Master/Slave结构,在整个资源管理框架中,resourcemanager为master RM,nodemanager是slave NM
ResourceManager 负责整个系统的资源管理和分配
NodeManager:
App Master和Container是运行在Slave上的组件,
Container是yarn中分配资源的一个单位,包涵内存、CPU等等资源,yarn以Container为单位分配资源
若干个针对应用程序的ApplicationMaster(AM) ApplicationManager
YARN不同服务组件的通信方式采用了事件驱动的异步并发机制
RM是一个全局的资源管理器,负责整个系统的资源管理和分配。
它主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Applications Manager,ASM)
AM. ApplicationMaster(AM)
用户提交的每个应用程序均包含一个AM,主要功能包括:
与RM调度器协商以获取资源(用Container表示);
将得到的任务进一步分配给内部的任务(资源的二次分配);
与NM通信以启动/停止任务;
监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以重启任务。
NM. NodeManager(NM
NM是每个节点上的资源和任务管理器,
一方面,它会定时地向RM汇报本节点上的资源使用情况和各个Container的运行状态;
另一方面,它接收并处理来自AM的Container启动/停止等各种请求
Container 是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等,
当AM向RM申请资源时,RM为AM返回的资源便是用 Container表示
各个资源的名称
HDFS
Master/Slave的架构
NameNode/Secondary NameNode
DataNode
HDFS Client
YARN
Master/Slave结构
ResourceManager
NodeManager
ApplicationMaster
Container
Spark
一个中心协调器和许多分布式worker
Master主节点:Cluster Manager Driver
Worker节点
Executor
Task
Client
Job stages task
Hive
Driver
MetaStore
Compiler-Execution Engine
Hive Clients:Thrift Client,JDBC Client,ODBC Client
operators /operators chain / operators DAG
Flink
JobManagers
TaskManagers
Client
Slot
Task
HBase
HBbase Master和Hregion
Hmaster/Zookeeper
RegionServer
Kafka分布式消息系统
Producer-Consumer-Broker-Zookeeper
Topic & Partition- segment