《Spark大数据分析:核心概念、技术及实践》一3.2 总体架构

    xiaoxiao2024-03-15  112

    本节书摘来自华章出版社《Spark大数据分析:核心概念、技术及实践》一书中的第3章,第3.2节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

    3.2 总体架构

    一个Spark应用包括5个重要部分:驱动程序、集群管理员、worker、执行者、任务(见图3-1)。

    3.2.1 worker

    worker为Spark应用提供CPU、内存和存储资源。worker把Spark应用当成分布式进程在集群节点上执行。

    3.2.2 集群管理员

    Spark使用集群管理员来获得执行作业所需要的集群资源。顾名思义,集群管理员管理集群中worker节点的计算资源。它能跨应用从底层调度集群资源。它可以让多个应用分享集群资源并且运行在同一个worker节点上。

    Spark目前支持三种集群管理员:单独模式、Mesos模式、YARN模式。Mesos模式和YARN模式都允许在同一个worker节点上同时运行Spark应用和Hadoop应用。第10章将详细介绍集群管理员。

    3.2.3 驱动程序

    驱动程序是一个把Spark当成库使用的应用。它提供数据处理的代码,Spark将在worker节点上执行这些代码。一个驱动程序可以在Spark集群上启动一个或多个作业。

    3.2.4 执行者

    执行者是一个JVM进程,对于一个应用由Spark在每一个worker上创建。它可以多线程的方式并发执行应用代码。它也可以把数据缓存在内存或硬盘中。

    执行者的生命周期和创建它的应用一样。一旦Spark应用结束,那么为它创建的执行者也将寿终正寝。

    3.2.5 任务

    任务是Spark发送给执行者的最小工作单元。它运行在worker节点上执行者的一个线程中。每一个任务都执行一些计算,然后将结果返回给驱动程序,或者分区以用于shuffle操作。

    Spark为每一个数据分区创建一个任务。一个执行者可以并发执行一个或多个任务。任务数量由分区的数量决定。更多的分区意味着将有更多的任务并行处理数据。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)