上帝有个梦想-主从结构

作者: 曾二爷耶 | 来源:发表于2019-06-05 09:42 被阅读2次

从前上帝有个梦想,为了完成它,就创造了人类并给了他们梦想。
作为一个有梦想的程序你想用电脑实现创造新世界的梦想。

零、主从结构

上帝看在你是个程序员的分上给了你一些机器帮你完成梦想。

0.1 你是个牛B的程序员

你是个牛B的程序员你充分利用自己的大脑,把你的梦想细分成了很多很多小任务,每个机器都给它分配点任务,然后收集结果完成你的千年大计。这时你得知道所有机器得信息,和你分配的所有的任务状态。


牛B的程序员

0.2 大脑不够用

虽然你是个牛B的程序员但是你发现你的大脑不够用了,不仅要细分任务,还要管理那么多机器的死活,还有任务的完成情况。于是你自然的想到可以找了个机器帮你分担工作,这个机器称它为master,它帮你分配任务到其他机器,管理任务回收结果,你只需要专心考虑你的梦想应该划分成什么样的任务来完成,并把任务交代给机器master。


找个机器帮你

0.3 master 会挂

你发现机器master可能会挂掉,挂掉了你交代给它的任务就丢了,你还得重新规划任务,于是你找了个机器master_backup,让master把所有数据都和它同步,这样一旦master挂了,master_backup就能马上顶替master的工作,等master恢复再和master_backup同步数据,保证总是有个机器替你干活,让你安心了许多。

0.4 主从

由于个体能力有限,社会为了发展都会朝着分工协作的方向发展。
机器多了也一样需要分工协作,但机器不像人那么智能,分工可以,协作就很难了。
最简单的协作模式就是有个统一的master来分配任务,也就是协作点集中在了一台中心节点,它和其他节点互联,它拥有所有机器的信息。其他的机器只接收来自master的指令,master让它干啥就干啥。
这样的模式优点在于分工明确实现起来方便简单。所有的机器只需要和master保持连接。
但是缺点是集中到了一台机器上,机器多了容易master压力会很大,master故障那么其他的机器也做不了什么事了。

一、hadoop中的主从结构

hadoop 包含HDFS、YARN、MapReduce这三个核心组件,其实都是主从结构的。

1.1 HDFS:分布式文件系统。

主节点叫namenode储存元数据,拥有所有机器的信息,所有数据的元数据,比如这个数据存在哪些节点、存了多少副本等这些信息。集中的管理数据,比如新来的数据应该放哪儿。
从节点datanode管理自己机器上数据的存放,负责读写数据。
当你使用client去读取hdfs的文件的时候,会先去namenode拿到相关的信息,再到对应的节点上读取数据。

1.2 YARN:资源管理器

Yarn就像操作系统一样需要管理计算机资源(cpu,内存、磁盘、网络等),还需要管理上面使用资源的任务。那我们就分系统层(资源和应用管理)和应用层(单个应用的运行)来说,

1.2.1 yarn系统层面的主从结构。

主节点ResourceManager(RM),有两个主要的组件 分别管理资源和应用。
1). Scheduler 调度器,管理资源,给应用分配资源,让任务满足各种资源的限制。也就是它会有所有机器的资源信息,等待应用申请资源,并将资源抽象成一个个container分配下去。


scheduler

2). ApplicationsManager :接受client提交的应用,为应用向RM申请一个container做ApplicationMaster,之后就只管理ApplicationMaster了。


appManager

从节点NodeManager(NM),管理好自己机器上运行的container,主动上报自己的资源,以及container的状态等信息。

1.2.2 Yarn上的应用层面的主从结构

上面说到一个AppManager会给一个应用申请第一个container做AppMaster,而AppMater对于单个应用来说就是主节点了,它会去RM申请其他的container做它的从节点,然后和它们通信,给它们指派任务,管理它们上面运行的任务。


appMaster

1.2.3 MapReduce 和spark的主从结构

MapReduce强依赖于yarn和hdfs所以它就原封不动的满足yarn应用的结构。
而spark 可以运行于多个平台,它抽象出了自己的主从结构。driver是主节点管理其他executor,分配任务收集结果。cluster Manager就是抽象出来的集群资源管理者,可以是yarn 、Messo等。


spark

spark on yarn有client 模式和cluster 模式
1).client模式:driver运行在client上Yarn的AppMaster就只是一个申请资源的代理,申请到了container就给client,client进行任务分配。
2).cluster模式 :driver运行在AppMaster上,资源申请任务调度,都由它自己负责。

最后、总结

文章主要介绍了分布式结构中的主从结构,总结起来就是主节点长官所有从节点的相关信息,协作点都发生在主节点上,从节点只会被动的执行主节点发来的命令。

欢迎关注我
更多文章请看 https://www.jianshu.com/u/7478cf233940

相关文章

  • 上帝有个梦想-主从结构

    从前上帝有个梦想,为了完成它,就创造了人类并给了他们梦想。作为一个有梦想的程序你想用电脑实现创造新世界的梦想。 零...

  • 上帝有个梦想-主从结构2

    上回说到我们已经进化出了下图得主从结构模式 1.分裂master把master上的工作尽量都分开,比如分成机器管理...

  • storm笔记:storm集群

    Strom集群结构是有一个主节点(nimbus)和多个工作节点(supervisor)组成的主从结构,主节点通过配...

  • 上帝有一个梦想

    在新西兰已经生活10几年了,朋友提及种族歧视,我很少发言。也许我开始习惯西方人的文化,在西方国家,政治、宗教、种族...

  • Redis之集群

    1、主从同步原理 像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构。 主从结构,一是...

  • Redis主从同步与集群管理

    1.主从同步原理像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构。主从结构,一是为了...

  • docker 简单redis主从、哨兵、集群快速搭建

    主从模式 目录结构 vim docker-compose.yml 修改主从 Dockerfile vim mast...

  • Redis从入门到精通7:Redis的HA集群

    前面介绍了Redis的集群——主从结构,既然是主从结构,那么就存在单点故障的风险。因此需要搭建Redis HA集群...

  • k8s 集群搭建 1.18.0

    主从结构 master: 10.19.37.76workder:10.19.37.75 10.19.37.77 ...

  • Haddop:HDFS

    HDFS体系结构 HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode...

网友评论

    本文标题:上帝有个梦想-主从结构

    本文链接:https://www.haomeiwen.com/subject/meyxxctx.html