Burrow
A local, read-only browser UI for Apache Hadoop YARN and Spark-on-YARN.
Burrow brings cluster operations and Spark tracking together: inspect applications, queues and nodes, then follow a Spark application's jobs, stages, executors, SQL, logs and live DAGs in the same interface.
Screenshots
These screenshots use Burrow's demo data to show the desktop overview, the responsive applications page and Spark jobs.
Click a thumbnail to open the full-size screenshot.
| Cluster overview | Applications on mobile | Spark jobs |
|---|---|---|
Start Burrow
Install yarn-burrow from PyPI and check which services your cluster exposes:
pip install yarn-burrow
burrow doctor
burrow
Burrow serves the UI at http://127.0.0.1:8787 by default. burrow doctor reports detected ResourceManager, NodeManager, JobHistory and Spark History services. The default configuration can discover addresses from Hadoop and Spark client configuration. For explicit service addresses, HA ResourceManagers, bind settings and reverse-proxy setup, see installation and configuration.
Package name note: the public PyPI project
burrowis an unrelated Nest Mobile API client. This project’s Python distribution isyarn-burrow; it installs theburrowcommand.
The wheel contains a self-contained executable with the web UI embedded. Python and pip are used to install the wheel; Python, Node.js, Bun and Java are not needed to run Burrow.
What you can do
- Operate YARN: review cluster health, applications, queues, scheduler capacity, nodes and labels.
- Follow Spark: inspect jobs and stages with DAGs, task details, executors, storage, environment, SQL, streaming and timelines. Running apps use the ResourceManager web proxy; finished apps use the Spark History Server.
- Troubleshoot: inspect ResourceManager and NodeManager configuration, JMX, thread stacks and daemon logs; view container logs while running or after aggregation.
- Work with live data: use filters, URL-addressable views, exports and live updates while Burrow keeps the upstream data path read-only.
The feature guide lists the full page-by-page coverage.
Stack
| Layer | Technologies |
|---|---|
| Server | Rust 2024, Tokio, Axum |
| Web UI | React 19, TypeScript, TanStack Start/Router/Query/Store/Table/Virtual/Pacer/Hotkeys, Vite, Tailwind CSS 4, Base UI, Motion, D3 scale/shape and ELK.js |
| Development and verification | Bun, Vitest, Testing Library, Playwright, Biome, Cargo tests, Clippy and rustfmt |
| Packaging | Maturin-built yarn-burrow platform wheel containing one Rust binary with the web UI embedded |
The versions shown in badges are checked against the project manifests and lockfiles; Bun 1.4.3 is the version recorded in the verification environment. See the architecture overview for implementation details.
Limitations
- Read-only: Burrow has no application kill, queue move or priority-change actions.
- Kerberos/SPNEGO is not implemented. Simple auth (
user.name), custom headers, bearer tokens, custom TLS CAs and ResourceManager HA are supported. - ATS v2/flow activity, YARN services and Federation are out of scope. UI2-only pages are catalogued in the parity inventory rather than presented as implemented.
- No MapReduce job-level view. MapReduce and distributed-shell applications have YARN-level views.
- The packaged UI cannot be hosted under a URL subpath such as
https://example.com/burrow/yet. It expects the site root, such ashttps://burrow.example.com/; otherwise the UI looks for its API at/apiinstead of/burrow/api. See reverse-proxy setup.
Compatibility
Burrow's live YARN verification uses Hadoop 3.4.3. Spark SQL and DAG routes have also been exercised live with Spark 2.4.8, 3.3.2 and 4.2.0. These are tested versions, not a guarantee for every vendor distribution; see the verification record.
How it works
Burrow runs locally and connects directly to configured or discovered Hadoop and Spark services; it does not depend on a Burrow-hosted service. By default, its web server listens only on loopback (127.0.0.1) and it provides no YARN write operations. See the architecture overview for the request path and security details.
Verification
The parity harness checks REST-field coverage, compares displayed values with the stock YARN UI, and checks that proxied responses preserve upstream bytes. The verification record includes the latest results, test environment, open limits and reproduction commands. The parity guide documents the inventory and comparison method.
Documentation
| For | Read |
|---|---|
| Full feature list | Feature guide |
| Install, configure and connect services | Installation and configuration |
| Architecture and security behavior | Architecture overview · Backend details |
| Verification and parity | Verification record · Parity inventory · Harness guide |
| Build and contribute | Development guide · Test-cluster guide |
| API and UI contracts | Backend API · Parity DOM |
| Design system | Design language · DAG design |
License
MIT. YARN and Spark are trademarks of the Apache Software Foundation. Burrow is an independent project.
Metadata
Release files for yarn-burrow 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| yarn_burrow-0.1.1-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| yarn_burrow-0.1.1-py3-none-musllinux_1_2_x86_64.whl | Python 3 | none | Linux musl 1.2+ x86-64 | Details |
| yarn_burrow-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| yarn_burrow-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| yarn_burrow-0.1.1-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| yarn_burrow-0.1.1-py3-none-macosx_10_12_x86_64.whl | Python 3 | none | macOS 10.12+ x86-64 | Details |
Total release size: 61.4 MB
Release files / yarn_burrow-0.1.1-py3-none-win_amd64.whl
| Download URL | yarn_burrow-0.1.1-py3-none-win_amd64.whl |
|---|---|
| Size | 10.2 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e8ae315a57fee0a2ed9a0b74e6db37f622aef950c814701d2fae4815e7aaad98
|
|
BLAKE2b-256 checksum How to use checksums |
c0d5b1bf09cf6ba79587711c798a1b068d267b73d37fa0b70077100e90cc620d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / yarn_burrow-0.1.1-py3-none-musllinux_1_2_x86_64.whl
| Download URL | yarn_burrow-0.1.1-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 10.5 MB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
f6cadb5b216d1834e2edc839146e7fd7f7975de3643240b08f0ec0cd64711c7a
|
|
BLAKE2b-256 checksum How to use checksums |
1128353bb90266ab6fc1f7e452309a6825b105828652df1db814a42dfaff751d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / yarn_burrow-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | yarn_burrow-0.1.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 10.4 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
76a4332ceb99d96391fa9fb68ef545b30a9abd00c3ba9e465f4c795fee14e65c
|
|
BLAKE2b-256 checksum How to use checksums |
b0cc33e008eb37e63459e0ebf27f3f7b6c4807a34152932d2f8071644f2bf944
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / yarn_burrow-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | yarn_burrow-0.1.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 10.2 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
b7c047b2ee77f5b793f649d1cb6851d68d1d8fc8256ffc9729f7621cced87371
|
|
BLAKE2b-256 checksum How to use checksums |
4aee0624c09fbb4f169f2a408e54b13f96f925e0d2dd94a3ed73c62a1d4d804e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / yarn_burrow-0.1.1-py3-none-macosx_11_0_arm64.whl
| Download URL | yarn_burrow-0.1.1-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 10.0 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
304c78b6f09846ea3247bdbb24e821b15a809c60944ddb01c344b8286d6a40a6
|
|
BLAKE2b-256 checksum How to use checksums |
d7cbbbf73090fb5acbc7c6ba51c23f5a060193434e078049e222b042c6421393
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency logRelease files / yarn_burrow-0.1.1-py3-none-macosx_10_12_x86_64.whl
| Download URL | yarn_burrow-0.1.1-py3-none-macosx_10_12_x86_64.whl |
|---|---|
| Size | 10.1 MB |
| Tags | Python 3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
ee8c4456230598fc1d84fce3adcc8aeb5afb536d5518cd78bc7e1877a2cd28b2
|
|
BLAKE2b-256 checksum How to use checksums |
c16c369eaad118047026b586d69a722368d35a0443c6c64cc1d88855b10702ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.
Transparency log