本篇内容主要讲解“spark的Web监控页面是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spark的Web监控页面是怎样的”吧!
成都创新互联是一家专注于网站制作、网站建设与策划设计,吉隆网站建设哪家好?成都创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:吉隆等地区。吉隆做网站价格咨询:18982081108
在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监控页面是怎样的”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!