Apache Pulsar — Development Setup

5 min readMay 15, 2021

Part 1 of the series on Apache Pulsar focusing on development setup and testing using Python and Rust.

Apache Pulsar Architecture


Apache Pulsar is a cloud-native, distributed messaging and streaming platform. In this article, I am going to focus on setting up a local development environment using Docker.

Client libraries for Apache Pulsar are available natively for Java, Go, Python, C++, Node.js, WebSocket, and C#. In this article, let’s try with Python and a 3rd party Rust library.

Pulsar and Pulsar Manager

Let’s get started by setting up Pulsar and Pulsar Manager.

Pulsar Manager is a web-based GUI management and monitoring tool that helps administrators and users manage and monitor tenants, namespaces, topics, subscriptions, brokers, clusters, and so on, and supports dynamic configuration of multiple environments.


Create the following docker-compose.yml file.

Run the following commands to start the containers.

# mkdir -p data
# docker compose up
Pulsar and Pulsar Manager

Password Setup for Pulsar Manager

Run the following commands to set up the password for Pulsar Manager.

Set up the CRSF token,

# CSRF_TOKEN=$(curl http://localhost:7750/pulsar-manager/csrf-token)

Set up the admin user name to apachepulsar.

# curl \
-H 'Content-Type: application/json' \
-X PUT http://localhost:7750/pulsar-manager/users/superuser \
-d '{"name": "admin", "password": "apachepulsar", "description": "test", "email": "username@test.org"}'

Software engineer, Data Science and ML practitioner.