HistoryServer¶
HistoryServer
is an extension of the web UI for reviewing event logs of running (active) and completed Spark applications with event log collection enabled (based on spark.eventLog.enabled configuration property).
Starting HistoryServer Standalone Application¶
main(
argStrings: Array[String]): Unit
main
creates a HistoryServerArguments (with the given argStrings
arguments).
main
initializes security.
main
creates an ApplicationHistoryProvider (based on spark.history.provider configuration property).
main
creates a HistoryServer (with the ApplicationHistoryProvider
and spark.history.ui.port configuration property) and requests it to bind.
main
requests the ApplicationHistoryProvider
to start.
main
registers a shutdown hook that requests the HistoryServer
to stop and sleeps...till the end of the world (giving the daemon thread a go).
Creating Instance¶
HistoryServer
takes the following to be created:
- SparkConf
- ApplicationHistoryProvider
-
SecurityManager
- Port number
When created, HistoryServer
initializes itself.
HistoryServer
is created when HistoryServer standalone application is started.
ApplicationCacheOperations¶
HistoryServer
is a ApplicationCacheOperations.
UIRoot¶
HistoryServer
is a UIRoot.
Initializing HistoryServer¶
initialize(): Unit
initialize
is part of the WebUI abstraction.
initialize
...FIXME
Attaching SparkUI¶
attachSparkUI(
appId: String,
attemptId: Option[String],
ui: SparkUI,
completed: Boolean): Unit
attachSparkUI
is part of the ApplicationCacheOperations abstraction.
attachSparkUI
...FIXME
Spark UI¶
getAppUI(
appId: String,
attemptId: Option[String]): Option[LoadedAppUI]
getAppUI
is part of the ApplicationCacheOperations abstraction.
getAppUI
requests the ApplicationHistoryProvider for the Spark UI of a Spark application (based on the appId
and attemptId
).
Logging¶
Enable ALL
logging level for org.apache.spark.deploy.history.HistoryServer
logger to see what happens inside.
Add the following line to conf/log4j.properties
:
log4j.logger.org.apache.spark.deploy.history.HistoryServer=ALL
Refer to Logging.