Spark Shell和spark集群的节点

Spark Shell

Spark Shell是一个交互式的命令行,里面可以写spark程序,方便学习和测试,他也是一个客户端,用于提交spark应用程序。他有两种运行机制,本地运行和集群运行。
本地运行

[root@hadoop1 spark-2.1.1-bin-hadoop2.7]#bin/spark-shell

注:没有指明master的地址,所以是spark的local模式运行的,模拟的spark集群运行的过程,在监控页面中不会用记录。

集群运行

[root@hadoop1 spark-2.1.1-bin-hadoop2.7]#bin/spark-shell --master spark://node-4:7077,node-5:7077

注:指定了master的地址,"node-4:7077,node-5:7077"表示是spark集群的主节点(Master,有几个主节点,就写几个),那么就会将任务提交到集群,开始时sparksubmit(客户端)要连接Master,并申请计算资源(内存和核数),Master进行资源调度(就是让那些Worker启动Executor),在准备工作时,这些进程都已经创建好了。

Master

Master节点是spark集群的老大,他负责管理worker子节点、资源调度、接收任务请求等。

Worker

Worker节点是spark的工作节点,当spark集群运行任务时,Worker节点负责管理CoarseGrainedExecutorBackend的进程

SparkSubmit

SparkSubmit节点是spark集群的任务提交节点(类似于Driver),在spark集群中,任务提交在哪一个机器中,SparkSubmit节点就在那一台机器上生成,他会将Task提交到CoarseGrainedExecutorBackend节点上去计算。

CoarseGrainedExecutorBackend

CoarseGrainedExecutorBackend节点简称为Executor节点,提示执行具体计算的节点,由worker节点所在机器生成,他有Worker节点进行管理,并且SparkSubmit节点会将任务Task提交给他(Task任务可以有多个)。

猜你喜欢

转载自blog.csdn.net/weixin_38613375/article/details/89500262