FsHistoryProvider¶
FsHistoryProvider
is the default ApplicationHistoryProvider for Spark History Server.
Creating Instance¶
FsHistoryProvider
takes the following to be created:
- SparkConf
-
Clock
(default:SystemClock
)
FsHistoryProvider
is created when HistoryServer
standalone application is started (and no spark.history.provider configuration property was defined).
Path of Application History Cache¶
storePath: Option[File]
FsHistoryProvider
uses spark.history.store.path configuration property for the directory to cache application history.
With storePath
defined, FsHistoryProvider
uses a LevelDB as the KVStore. Otherwise, a InMemoryStore.
With storePath
defined, FsHistoryProvider
uses a HistoryServerDiskManager as the disk manager.
Disk Manager¶
diskManager: Option[HistoryServerDiskManager]
FsHistoryProvider
creates a HistoryServerDiskManager when created (with storePath defined based on spark.history.store.path configuration property).
FsHistoryProvider
uses the HistoryServerDiskManager
for the following:
SparkUI of Spark Application¶
getAppUI(
appId: String,
attemptId: Option[String]): Option[LoadedAppUI]
getAppUI
is part of the ApplicationHistoryProvider abstraction.
getAppUI
...FIXME
onUIDetached¶
onUIDetached(): Unit
onUIDetached
is part of the ApplicationHistoryProvider abstraction.
onUIDetached
...FIXME
loadDiskStore¶
loadDiskStore(
dm: HistoryServerDiskManager,
appId: String,
attempt: AttemptInfoWrapper): KVStore
loadDiskStore
...FIXME
loadDiskStore
is used in getAppUI (with HistoryServerDiskManager available).
createInMemoryStore¶
createInMemoryStore(
attempt: AttemptInfoWrapper): KVStore
createInMemoryStore
...FIXME
createInMemoryStore
is used in getAppUI.
rebuildAppStore¶
rebuildAppStore(
store: KVStore,
reader: EventLogFileReader,
lastUpdated: Long): Unit
rebuildAppStore
...FIXME
rebuildAppStore
is used in loadDiskStore and createInMemoryStore.
cleanAppData¶
cleanAppData(
appId: String,
attemptId: Option[String],
logPath: String): Unit
cleanAppData
...FIXME
cleanAppData
is used in checkForLogs and deleteAttemptLogs.
Polling for Logs¶
startPolling(): Unit
startPolling
...FIXME
startPolling
is used in initialize and startSafeModeCheckThread.
Checking Available Event Logs¶
checkForLogs(): Unit
checkForLogs
...FIXME
Logging¶
Enable ALL
logging level for org.apache.spark.deploy.history.FsHistoryProvider
logger to see what happens inside.
Add the following line to conf/log4j.properties
:
log4j.logger.org.apache.spark.deploy.history.FsHistoryProvider=ALL
Refer to Logging.