文档章节

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

stark_summer
 stark_summer
发布于 2015/01/20 13:15
字数 369
阅读 710
收藏 5

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

© 著作权归作者所有

共有 人打赏支持
stark_summer
粉丝 59
博文 75
码字总数 51050
作品 0
朝阳
CEO
spark1.2.0版本搭建伪分布式环境

、下载scala2.11.5版本,下载地址为:http://www.scala-lang.org/download/2.11.5.html 2、安装和配置scala: 第一步:上传scala安装包 并解压 第二步 配置SCALAHOME环境变量到bashprofile 第...

stark_summer
2015/02/09
0
2
关于Spark 的一些调优选项(待完善)

各位看到的大侠们,,,,如果有什么问题,不要拍砖,后期进行完善。谢谢协助完善。 几个比较重要的配置属性: 1.手动启动集群 参数 含义 -i IP,--ip IP 要监听的IP地址或者 DNS 机器名 -p P...

Ryan-瑞恩
2015/08/28
0
3
教你如何成为Spark大数据高手

Spark目前被越来越多的企业使用,和Hadoop一样,Spark也是以作业的形式向集群提交任务,那么如何成为Spark大数据高手?下面就来个深度教程。 分享之前我还是要推荐下我自己创建的大数据学习交...

风火数据
05/20
0
0
Spark2.1.0之剖析spark-shell

通过在spark-shell中执行word count的过程,让读者了解到可以使用spark-shell提交Spark作业。现在读者应该很想知道spark-shell究竟做了什么呢? 脚本分析 在Spark安装目录的bin文件夹下可以找...

beliefer
04/20
0
0
你不能错过的 spark 学习资源

1. 书籍,在线文档 2. 网站 3. Databricks Blog 4. 文章,博客 5. 视频

u012608836
04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

go语言学习总结

一、描述 go语言是直接将源码编译成二进制机器码的语言;它支持面向对象、也支持函数式编程;支持并发很容易; 二、基本语法学习路径 https://studygolang.com/subject/2...

盼望明天
28分钟前
2
0
JSP 九大内置对象及其作用域

JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception ,下面就简单介绍下。 1、request 对象 request 对象...

几个栗子
39分钟前
1
0
Java中的坑之方括号

Java中的坑之方括号 这一段时间,在做项目的时候,发现了一个坑,这个坑说大不大,说小不小,不知道的足够喝一壶,知道的就可以轻松解决。 问题描述 在做数据统计的时候,遇见了如下形式的数...

星汉
50分钟前
2
0
[雪峰磁针石博客]python机器学习、web开发等书籍汇总

Building Machine Learning Systems with Python Third Edition - 2018.pdf 下载地址 Get more from your data by creating practical machine learning systems with Python Key Features ......

python测试开发人工智能安全
今天
1
0
文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部