最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

spark内核揭秘-08-spark的Web监控页面_html/css

来源:懂视网 责编:小采 时间:2020-11-27 16:01:12
文档

spark内核揭秘-08-spark的Web监控页面_html/css

spark内核揭秘-08-spark的Web监控页面_html/css_WEB-ITnose:在SparkContext中可以看到初始化UI代码: // Initialize the Spark UIprivate[spark] val ui: Option[SparkUI] = if (conf.getBoolean(spark.ui.enabled, true)) { Some(SparkUI.createLiveUI(this
推荐度:
导读spark内核揭秘-08-spark的Web监控页面_html/css_WEB-ITnose:在SparkContext中可以看到初始化UI代码: // Initialize the Spark UIprivate[spark] val ui: Option[SparkUI] = if (conf.getBoolean(spark.ui.enabled, true)) { Some(SparkUI.createLiveUI(this

在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:


SparkUI 继承了WebUI:


而WebUI类定义了def initialize()方法


SparkUI的initialize()实现方法:


上面代码分析:增加页面的tab页面

1、JobsTab:


2、stagesTab:


3、StorageTab:


4、EnvironmentTab:


5、ExecutorsTab:


6、createStaticHandler:


7、createRedirectHandler:


当执行完initialize()方法后,我们回到SparkContext 的Initialize the spark UI:


bind port:


从上面代码可以看出来,启动了端口号为4040的本地JettyServer



上面代码分析:

1、创建ContextHandlerCollection并将handlers设置到ContextHandlerCollection中

2、增加一个filter:



3、创建Jetty Server并绑定端口号并创建一个QueuedThreadPool,设置到Server中:


4、启动Jetty server,如果启动失败,就抛出异常:


5、试着重试几次启动startServiceOnPort,如果启动失败,就更换新端口号(规则是1+oldPort),重新启动:





最终启动成功后,会把信息东西存放在ServerInfo中:

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

spark内核揭秘-08-spark的Web监控页面_html/css

spark内核揭秘-08-spark的Web监控页面_html/css_WEB-ITnose:在SparkContext中可以看到初始化UI代码: // Initialize the Spark UIprivate[spark] val ui: Option[SparkUI] = if (conf.getBoolean(spark.ui.enabled, true)) { Some(SparkUI.createLiveUI(this
推荐度:
标签: 监控 页面 it
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top