当前位置:大数据业界动态 → 正文

Monitoring Apache Spark 面临新挑战

责任编辑:editor006 作者:田晓旭 |来源:企业网D1Net  2016-07-01 15:42:52 本文摘自:it168网站

大数据处理已经进入了新时代,数据的复杂度越来越高,人们对数据实时处理的要求也越来越高。新时代带来了很多的新改变,但是最大程度创造数据价值是大数据时代不变的宗旨。随着实时数据处理的用例越来越多,实时数据处理框架也丰富起来,例如, Apache Spark、Storm、 Heron、 Flink、Apex、 Kafka Streams 等等。每一种框架都有其特定的适用场景,但是框架多样化也带来了一些问题,增加了数据处理的复杂性,增加了运营难度。

Apache Spark是当前最流行的数据处理技术,下面我们就来回顾一下Spark的基本知识。

Spark 是什么?

Spark是大数据处理的一种通用框架,主要应用在批处理和流式数据。下面我们来看一下Spark的执行模型以及Spark架构的组成部分。

Monitoring Apache Spark 面临新挑战

  1.Spark Manager和Master Manager主要运行在以下模式中:

Standalone: 单一的cluster manager,管理方便。

Mesos: 公司常用模式,使用方便灵活。

Yarn:是目前最有前景的部署模式,默认配置为Hadoop 2.0。

2.Spark Worker: 运行在standalone模式下,是Spark的工作节点,用于执行提交的作业。

3.Spark Executor: 真正执行作业的地方,一个集群一般包含多个Executor,每个Executor接收Driver的命令Launch Task,一个Executor可以执行一到多个Task。

4.Spark Driver: 一个Spark作业运行时包括一个Driver进程,也是作业的主进程,负责作业的解析、生成Stage并调度Task到Executor上。包括DAGScheduler,TaskScheduler。

Spark Driver会创建一个Spark Context,并与Manager、Master通信,在worker节点上获取资源。Worker在本地为每个应用创建executor。完成之后,Driver和Executor就可以直接进行通信了。工作过程中,worker会一直监视Executor的情况。Driver中的DAGScheduler会根据用户程序,生成执行计划,并调度执行,Driver等程序全部结束之后才会结束。

Spark应用程序的执行是由很多组件共同协作来完成的。所以,如果要在生产环境中部署Spark,那么就要时刻监控不同组件,了解组件性能参数,当发生错误时,要能够及时报警,合理处置。

Monitoring Spark Streaming 面临的挑战

Spark UI提供了仪表板功能,但是如果你想要投入实际生产,仅仅安装这个是远远不够的。必须要能够时刻监控Spark的内部运作和其组件的情况。

我们要分三个层面来监控Spark:

1.Spark的基础组成部分:Master、Standalone、Mesos、Yarn、Workers

2.Applications :Driver、Executors

3.Underlying hosts:Disks、CPU、网络

这三个层面是相互依存、密不可分的。如果主机或者磁盘发生故障,那么Spark的基础设施就会发生问题进而影响到应用程序。所以,在这三层之间建立相关的洞察是至关重要的。这时,你就需要有一套监控系统来监控错误发生在哪一层。如果没有这个系统,那么势必得花费几倍的时间去查找问题出在哪里。

OpsClarity成功解决了这个问题,它可以自动发现数据管道和应用中的全部服务的拓扑结构,并用红,绿,橙三种颜色来标记接口,能够更加快速的对问题做出响应。

Monitoring Apache Spark 面临新挑战


▲OpsClarity 的界面展示

如何配置Monitoring

Spark通过不同的端点为每个组件提供metric。例如,你想查看Spark Driver的详细信息,你只需知道它的URL,Spark就可以自动访问该URL。在Driver中有一个典型的问题,就是如何判断哪些worker在工作并识别出它的UI端口。其实,我们可以把客户端的Driver当做固定的URL端点。该软件能够自动找出应用程序中运行的Driver,然后收集每个端口的metric。

类似于Spark这样的框架,集群是可以动态调整大小的。所以,必须确保新增的组件也可以自动配置监控。另外,在一个executor发生故障时,启用另一个executor的情况下不应该出现警报。

检查Spark应用程序。在Driver发生故障时,应用程序需要连接到别的application context和worker节点上仍然可以使用。在这种情况下,metric collection、port checks 和 monitor接口都需要移植到新的Driver上 。

拓扑监测和自动配置功能能够实时监测Spark基础设施发生的变化,无需人为干预。

原文链接:

https://dzone.com/articles/monitoring-apache-spark-why-is-it-challenging

关键字:SparkApache数据实时处理

本文摘自:it168网站

x Monitoring Apache Spark 面临新挑战 扫一扫
分享本文到朋友圈
当前位置:大数据业界动态 → 正文

Monitoring Apache Spark 面临新挑战

责任编辑:editor006 作者:田晓旭 |来源:企业网D1Net  2016-07-01 15:42:52 本文摘自:it168网站

大数据处理已经进入了新时代,数据的复杂度越来越高,人们对数据实时处理的要求也越来越高。新时代带来了很多的新改变,但是最大程度创造数据价值是大数据时代不变的宗旨。随着实时数据处理的用例越来越多,实时数据处理框架也丰富起来,例如, Apache Spark、Storm、 Heron、 Flink、Apex、 Kafka Streams 等等。每一种框架都有其特定的适用场景,但是框架多样化也带来了一些问题,增加了数据处理的复杂性,增加了运营难度。

Apache Spark是当前最流行的数据处理技术,下面我们就来回顾一下Spark的基本知识。

Spark 是什么?

Spark是大数据处理的一种通用框架,主要应用在批处理和流式数据。下面我们来看一下Spark的执行模型以及Spark架构的组成部分。

Monitoring Apache Spark 面临新挑战

  1.Spark Manager和Master Manager主要运行在以下模式中:

Standalone: 单一的cluster manager,管理方便。

Mesos: 公司常用模式,使用方便灵活。

Yarn:是目前最有前景的部署模式,默认配置为Hadoop 2.0。

2.Spark Worker: 运行在standalone模式下,是Spark的工作节点,用于执行提交的作业。

3.Spark Executor: 真正执行作业的地方,一个集群一般包含多个Executor,每个Executor接收Driver的命令Launch Task,一个Executor可以执行一到多个Task。

4.Spark Driver: 一个Spark作业运行时包括一个Driver进程,也是作业的主进程,负责作业的解析、生成Stage并调度Task到Executor上。包括DAGScheduler,TaskScheduler。

Spark Driver会创建一个Spark Context,并与Manager、Master通信,在worker节点上获取资源。Worker在本地为每个应用创建executor。完成之后,Driver和Executor就可以直接进行通信了。工作过程中,worker会一直监视Executor的情况。Driver中的DAGScheduler会根据用户程序,生成执行计划,并调度执行,Driver等程序全部结束之后才会结束。

Spark应用程序的执行是由很多组件共同协作来完成的。所以,如果要在生产环境中部署Spark,那么就要时刻监控不同组件,了解组件性能参数,当发生错误时,要能够及时报警,合理处置。

Monitoring Spark Streaming 面临的挑战

Spark UI提供了仪表板功能,但是如果你想要投入实际生产,仅仅安装这个是远远不够的。必须要能够时刻监控Spark的内部运作和其组件的情况。

我们要分三个层面来监控Spark:

1.Spark的基础组成部分:Master、Standalone、Mesos、Yarn、Workers

2.Applications :Driver、Executors

3.Underlying hosts:Disks、CPU、网络

这三个层面是相互依存、密不可分的。如果主机或者磁盘发生故障,那么Spark的基础设施就会发生问题进而影响到应用程序。所以,在这三层之间建立相关的洞察是至关重要的。这时,你就需要有一套监控系统来监控错误发生在哪一层。如果没有这个系统,那么势必得花费几倍的时间去查找问题出在哪里。

OpsClarity成功解决了这个问题,它可以自动发现数据管道和应用中的全部服务的拓扑结构,并用红,绿,橙三种颜色来标记接口,能够更加快速的对问题做出响应。

Monitoring Apache Spark 面临新挑战


▲OpsClarity 的界面展示

如何配置Monitoring

Spark通过不同的端点为每个组件提供metric。例如,你想查看Spark Driver的详细信息,你只需知道它的URL,Spark就可以自动访问该URL。在Driver中有一个典型的问题,就是如何判断哪些worker在工作并识别出它的UI端口。其实,我们可以把客户端的Driver当做固定的URL端点。该软件能够自动找出应用程序中运行的Driver,然后收集每个端口的metric。

类似于Spark这样的框架,集群是可以动态调整大小的。所以,必须确保新增的组件也可以自动配置监控。另外,在一个executor发生故障时,启用另一个executor的情况下不应该出现警报。

检查Spark应用程序。在Driver发生故障时,应用程序需要连接到别的application context和worker节点上仍然可以使用。在这种情况下,metric collection、port checks 和 monitor接口都需要移植到新的Driver上 。

拓扑监测和自动配置功能能够实时监测Spark基础设施发生的变化,无需人为干预。

原文链接:

https://dzone.com/articles/monitoring-apache-spark-why-is-it-challenging

关键字:SparkApache数据实时处理

本文摘自:it168网站

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^