Skip to content
Snippets Groups Projects
Commit 39af914b authored by Matei Zaharia's avatar Matei Zaharia
Browse files

Merge pull request #166 from ahirreddy/simr-spark-ui

SIMR Backend Scheduler will now write Spark UI URL to HDFS, which is to ...

...be retrieved by SIMR clients
parents f49ea28d ccb099e8
No related branches found
No related tags found
No related merge requests found
...@@ -31,6 +31,10 @@ private[spark] class SimrSchedulerBackend( ...@@ -31,6 +31,10 @@ private[spark] class SimrSchedulerBackend(
val tmpPath = new Path(driverFilePath + "_tmp") val tmpPath = new Path(driverFilePath + "_tmp")
val filePath = new Path(driverFilePath) val filePath = new Path(driverFilePath)
val uiFilePath = driverFilePath + "_ui"
val tmpUiPath = new Path(uiFilePath + "_tmp")
val uiPath = new Path(uiFilePath)
val maxCores = System.getProperty("spark.simr.executor.cores", "1").toInt val maxCores = System.getProperty("spark.simr.executor.cores", "1").toInt
override def start() { override def start() {
...@@ -45,6 +49,8 @@ private[spark] class SimrSchedulerBackend( ...@@ -45,6 +49,8 @@ private[spark] class SimrSchedulerBackend(
logInfo("Writing to HDFS file: " + driverFilePath) logInfo("Writing to HDFS file: " + driverFilePath)
logInfo("Writing Akka address: " + driverUrl) logInfo("Writing Akka address: " + driverUrl)
logInfo("Writing to HDFS file: " + uiFilePath)
logInfo("Writing Spark UI Address: " + sc.ui.appUIAddress)
// Create temporary file to prevent race condition where executors get empty driverUrl file // Create temporary file to prevent race condition where executors get empty driverUrl file
val temp = fs.create(tmpPath, true) val temp = fs.create(tmpPath, true)
...@@ -54,6 +60,12 @@ private[spark] class SimrSchedulerBackend( ...@@ -54,6 +60,12 @@ private[spark] class SimrSchedulerBackend(
// "Atomic" rename // "Atomic" rename
fs.rename(tmpPath, filePath) fs.rename(tmpPath, filePath)
// Write Spark UI Address to file
val uiTemp = fs.create(tmpUiPath, true)
uiTemp.writeUTF(sc.ui.appUIAddress)
uiTemp.close()
fs.rename(tmpUiPath, uiPath)
} }
override def stop() { override def stop() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment