共计 1319 个字符,预计需要花费 4 分钟才能阅读完成。
本篇内容主要讲解“spark 的 Web 监控页面是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“spark 的 Web 监控页面是怎样的”吧!
在 SparkContext 中可以看到初始化 UI 代码:
// Initialize the Spark UIprivate[spark] val ui: Option[SparkUI] = if (conf.getBoolean( spark.ui.enabled , true)) { Some(SparkUI.createLiveUI(this, conf, listenerBus, jobProgressListener, env.securityManager,appName))
} else { // For tests, do not enable the UI None
}// Bind the UI before starting the task scheduler to communicate// the bound port to the cluster manager properlyui.foreach(_.bind())
创建 SparkUI 对象:
def createLiveUI( sc: SparkContext, conf: SparkConf, listenerBus: SparkListenerBus, jobProgressListener: JobProgressListener, securityManager: SecurityManager, appName: String): SparkUI = { create(Some(sc), conf, listenerBus, securityManager, appName, jobProgressListener = Some(jobProgressListener))
}
进入 create 方法:
SparkUI 继承了 WebUI:
SparkUI 的 initialize() 实现方法:
2、stagesTab:
4、EnvironmentTab:
6、createStaticHandler:
当执行完 initialize() 方法后,我们回到 SparkContext 的 Initialize the spark UI:
从上面代码可以看出来,启动了端口号为 4040 的本地 JettyServer
上面代码分析:
1、创建 ContextHandlerCollection 并将 handlers 设置到 ContextHandlerCollection 中
2、增加一个 filter:
3、创建 Jetty Server 并绑定端口号并创建一个 QueuedThreadPool,设置到 Server 中:
5、试着重试几次启动 startServiceOnPort,如果启动失败,就更换新端口号(规则是 1 +oldPort),重新启动:
到此,相信大家对“spark 的 Web 监控页面是怎样的”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!