之前在分布式高可用集群装置中,能够看到这个集群是主从架构,在Spark集群形式中,叫做Standalone集群。
主节点叫做Master,Master除了对Worker、Application、Driver等治理外,还要负责对整个集群中所有资源的对立治理和调配。这篇次要还是讲对Worker的治理。
Worker是工作节点,他会把本身的资源信息,比方CPU、内存大小等提供给Master,由Master对Worker的资源进行调度。

流程

集群启动的时候,只有Master节点,为了可能对各个Worker进行治理,Worker启动的时候须要向Master进行注册,把本人的信息,包含Ip信息、端口、CPU、内存大小等,注册到Master,这样Master就能够晓得这个Worker的具体情况。

Master接管到Worker的注册申请后,就会把Worker的信息放入内存中,便于资源的调配以及调度,并且为了容灾思考,把Worker的信息进行了长久化,这样新选举进去的Master可能从长久化中读取Worker的数据,而不必放心上一个Master节点中的内存数据失落。

Master解决完Worker申请后,就会发信息告知Worker曾经注册,Worker就会把Master的信息保留在内存中。

为了保障Master晓得本人是存活的,于是worker每隔15秒开始发送心跳给Master。这个Master的信息就是下面一步保留在内存的信息。Master收到心跳信息后,就会更新Worker的最初心跳工夫。

除了Worker被动发送心跳告知Master本人的状态是存活的,Master也会每隔60秒去查看内存中Worker的汇合,把最初心跳工夫超过60秒的筛选进去,把这些Worker从内存以及长久化中移除。

源码思维导图

master启动
worker启动并注册到master
master-解决音讯
Worker-解决信息