Apache Pulsar Manager

Clone this repo:
  1. e4242d8 Support gradle bump version (#201) by tuteng · 3 days ago master
  2. fc0c422 Make default environment persistent (#197) by Enrico Olivelli · 4 days ago
  3. f250835 Use only standard well-known repositories and fix license header in build.gradle (#200) by Enrico Olivelli · 4 days ago
  4. 44273c9 Support HerdDB database (#194) by Enrico Olivelli · 4 weeks ago
  5. d7551e8 Fix wrong place for license scan badge in README.md (#192) (#193) by Lewinma · 5 weeks ago

Apache Pulsar manager

FOSSA Status

Apache Pulsar manager is a web-based GUI management tool for managing and monitoring Pulsar.


  • Tenants Management
  • Namespaces Management
  • Topics Management
  • Subscriptions Management
  • Brokers Management
  • Clusters Management
  • Dynamic environments with multiple changes

Feature preview

Log in

Use the default account (pulsar) and the default password (pulsar) to log in.


Configure environment

The puslar-manager supports multiple environment configurations and can manage multiple environments conveniently.


Manage tenants


Manage namespaces


Manage topics


Manage subscriptions


Manage clusters


Manage brokers


Topics monitoring

The pulsar-manager can monitor topics and subscriptions.



  • Java 8 or later
  • Node 10.15.3 or later
  • Npm 6.4.1 or later
  • Pulsar 2.4.0 or later
  • Docker


  1. Start Pulsar standalone.

    docker pull apachepulsar/pulsar:2.4.0
    docker run -d -it -p 6650:6650 -p 8080:8080 -v $PWD/data:/pulsar/data --name pulsar-manager-standalone apachepulsar/pulsar:2.4.0 bin/pulsar standalone
  2. Build an environment.

    You can build an environment with Docker or build a local environment.

    • Build an environment with Docker

      • REDIRECT_HOST: the IP address of the front-end server.

      • REDIRECT_PORT: the port of the front-end server.

      • DRIVER_CLASS_NAME: the driver class name of MySQL.

      • URL: the url of MySQL jdbc, example: jdbc:mysql://localhost:3306/pulsar_manager?useSSL=false

      • USERNAME: the username of MySQL

      • PASSWORD: the password of MySQL

      docker pull streamnative/pulsar-manager
      docker run -it -p 9527:9527 -e REDIRECT_HOST=front-end-ip -e REDIRECT_PORT=front-end-port -e DRIVER_CLASS_NAME=com.mysql.jdbc.Driver -e URL='jdbc-url' -e USERNAME=root -e PASSWORD=pulsar pulsar-manager /bin/sh

      This is an example:

      docker run -it -p 9527:9527 -e REDIRECT_HOST= -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://' -e USERNAME=pulsar -e PASSWORD=pulsar -v $PWD:/data pulsar-manager:latest /bin/sh
    • Build a local environment

      (1) Download the source code.

      git clone https://github.com/streamnative/pulsar-manager

      (2) Build and start the backend.

      cd pulsar-manager
      ./gradlew build -x test
      java -jar ./build/libs/pulsar-manager.jar

      (3) Build and start the front end.

      cd pulsar-manager/front-end
      npm install --save
      npm run dev
  3. Access Pulsar manager website.

    Use the account and the password to log in to the Pulsar manager website as below.

Default Test database HerdDB


Pulsar Manager bundles JDBC Drivers for HerdDB. The default confguration starts and embedded in-memory only HerdDB database.

HerdDB can be used in production, you just have to use the correct JDBC URL. Follow the instructions in application.properties to switch the connection to a standalone HerdDB service or cluster.

The JDBC URL will look like this: jdbc:herddb:server:localhost:7000

In cluster mode HerdDB uses Apache BookKeeper and Apache ZooKeeper to store data and metadata, you can share your ZooKeeper cluster and the Bookies bundled with Pulsar.

The JDBC URL will look like this: jdbc:herddb:zookeeper:localhost:2181/herddb

In order to start and setup an HerdDB database follow the instructions on the HerdDB documentation.

Back end

For more information about the back end, see pulsar-manager-backend.

Front end

For more information about the front end, see pulsar-manager-frontend.


FOSSA Status