Spark源码阅读02-Spark核心原理之监控管理

    • 实时UI监控
  • 历史UI监控

  • Metrics

    • 输入源(Metrics Source)介绍
  • 输出方式(Metrics Sink)介绍

  • TEST

监控管理


Spark提供了UI监控、Spark Metrics和REST 3种方式监控应用程序运行状态。其中:

  • UI 监控以网页方式提供用户监控调度阶段、存储、运行环境和Executor参数等信息

  • Spark Metrics通过定制的方式,将应用程序的运行情况以多种方式展现出来,

  • REST则提供API给用户,根据API开发监控应用程序运行的各阶段消息

UI监控


Spark的UI监控分为实时UI监控和历史UI监控,默认情况下启动实时UI监控,历史UI监控需要手动启动。其中:

  • 实时UI监控可以即时刷新查看作业的运行情况

  • 历史UI监控则是保存了应用程序的运行状态数据,根据用户需要查询这些应用程序的历史运行情况

实时UI监控

实时UI监控分为MasterUl监控和应用程序UI监控,其中

  • MasterUI监控在Master启动过程中启用,

  • 应用程序UR监控在SparkContext启用。

以Standalone为例, 在Master启动的时候会启动UI监控和REST服务,MasterUl监控默认使用8080端口,访问地址为http//host:8080, 同时启动Master和应用程序的Metrics服务。具体代码实现如下:

override def onStart(): Unit = {

logInfo("Starting Spark master at " + masterUrl)

logInfo(s"Running Spark version ${org.apache.spark.SPARK_VERSION}")

//启动Master的UI监控界面,其中HTTP服务由Jetty进行提供

webUi = new MasterWebUI(this, webUiPort)

//默认使用8080端口,访问地址为http://host:8080

webUi.bind()

masterWebUiUrl = “http://” + masterPublicAddress + “:” + webUi.boundPort

if (reverseProxy) {

masterWebUiUrl = conf.get(“spark.ui.reverseProxyUrl”, masterWebUiUrl)

webUi.addProxy()

logInfo(s"Spark Master is acting as a reverse proxy. Master, Workers and " +

s"Applications UIs are available at $masterWebUiUrl")

}

checkForWorkerTimeOutTask = forwardMessageThread.scheduleAtFixedRate(new Runnable {

override def run(): Unit = Utils.tryLogNonFatalError {

self.send(CheckForWorkerTimeOut)

}

}, 0, WORKER_TIMEOUT_MS, TimeUnit.MILLISECONDS)

//启动REST服务,默认端口为4040

if (restServerEnabled) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值