# Spark Monitor

A friendly monitoring tool for Apache Spark.

## Features

- Show list of all sessions
- Create / Kill session
- Create, Edit and Store multiple session configs with built-in editor
- Show session detail
- Show visual progress for each statement
- Create, Edit, Store multiple statements with built-in editor
- Cancel running statement

## Screenshots

### Session list

![Screenshot - Session list](https://raw.githubusercontent.com/Yuhsak/spark-monitor/master/screenshots/sessions.png)

### Session creation

![Screenshot - Create session](https://raw.githubusercontent.com/Yuhsak/spark-monitor/master/screenshots/create-session.png)

### Session detail

![Screenshot - Session](https://raw.githubusercontent.com/Yuhsak/spark-monitor/master/screenshots/session.png)

### Statement execution

![Screenshot - Run statement](https://raw.githubusercontent.com/Yuhsak/spark-monitor/master/screenshots/run-statement.png)

## Usage

**Requirements**

Spark Monitor requires Apache Livy Web API to communicate with Apache Spark.
Make sure that the Livy has been launched before trying this tool.

**Install & Start**

```bash
$ npm install spark-monitor -g
$ spark-monitor --port 9889 --livy-host localhost --livy-port 8998
Now Spark Monitor is serving on port 9889.
```

Then open http://localhost:9889 to get started.