/yarnitor

Yarnitor is a pluggable YARN monitoring API and web frontend

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Yarnitor is a pluggable YARN monitoring API and web frontend.

Yarnitor screenshot

CircleCI

Requirements

Yarnitor relies on multiple processes, and is therefore best run using the provided Docker configuration. You install Docker on Windows, OSX, or Linux. You'll specifically need:

  • docker>=1.10
  • docker-compose>=1.10

Configure

You must set two environment variables before starting yarnitor.

  1. Set YARN_ENDPOINT to the YARN application master URL.
  2. Set EXPOSED_PORT to the port on which yarnitor serve its UI.

For example:

export YARN_ENDPOINT=yarn-application-master.mydomain.tld:8088
export EXPOSED_PORT=8080

Run

To launch the yarnitor web app, background YARN polling process, and Redis in linked Docker containers, run the following:

docker-compose up

Develop

To run the yarnitor web app with debugging enabled, the background YARN polling process, and Redis in linked Docker containers for development, run the following:

make dev

If you don't have make, run what make would by hand instead:

docker-compose build
docker-compose run --rm \
    -e FLASK_APP=yarnitor \
    -e FLASK_DEBUG=1 \
    -p 5000:5000 \
    web \
    flask run -h 0.0.0.0

Test

To run tests in a the Flask container, execute the following:

make test

Or the long-hand equivalent:

docker-compose build
docker-compose run --rm web pytest

Credits

Nanumo Park created the Yarnitor logo.