在SparkContext中可以看到初始化UI代码:
// Initialize the Spark UI private[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 properly ui.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中:
相关推荐
Spark安装包:spark-3.1.3-bin-without-hadoop.tgz
本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载,本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载
在Ubuntu里安装spark,spark-2.1.0-bin-without-hadoop该版本直接下载到本地后解压即可使用。 Apache Spark 是一种用于大数据工作负载的分布式开源处理系统。它使用内存中缓存和优化的查询执行方式,可针对任何规模...
Apache Spark版本3.1.3。Linux安装包。spark-3.1.3-bin-hadoop3.2.tgz
Spark Doris Connector(apache-doris-spark-connector-2.3_2.11-1.0.1-incubating-src.tar.gz) Spark Doris Connector Version:1.0.1 Spark Version:2.x Scala Version:2.11 Apache Doris是一个现代MPP分析...
spark-3.0.0-bin-hadoop3.2下载安装包
spark-3.2.0-bin-hadoop3.2.tgz
pyspark本地的环境配置包,spark-2.3.4-bin-hadoop2.7.tgz:spark-2.3.4-bin-hadoop2.7.tgz
spark-3.1.2.tgz版本 & spark-3.1.2-bin-hadoop2.7.tgz版本
spark-3.2.4-bin-hadoop3.2-scala2.13 安装包
spark-streaming-kafka-0-8_2.11-2.4.0.jar
spark-assembly-1.5.2-hadoop2.6.0 在spark编程中使用的一个jar
spark-streaming-flume_2.11-2.1.0.jar
linux的spark新版本,匹配hadoop2.7版本,spark-3.2.1-bin-hadoop2.7.tgz
spark-2.4.0-bin-hadoop2.7
spark-hive-thriftserver_2.11-2.1.spark-hive-thrift
spark-2.4.8-bin-hadoop2.7.tgz
Spark Doris Connector(apache-doris-spark-connector-3.1_2.12-1.0.1-incubating-src.tar.gz) Spark Doris Connector Version:1.0.1 Spark Version:3.x Scala Version:2.12 Apache Doris是一个现代MPP分析...
spark-3.0.0-bin-hadoop2.7.tgz 官网下载不了的,需要资源的,可以到这里下载哦
spark-1.6.3-bin-hadoop2.6.tgz