Skip to main content

Managing Brokers

tip

This page only shows some frequently used operations. For the latest and complete information, see the reference docs below.

CategoryMethodIf you want to manage brokers...
Pulsar CLIpulsar-admin, which lists all commands, flags, descriptions, and more.See the broker command
Pulsar admin APIsREST API, which lists all parameters, responses, samples, and more.See the /admin/v2/brokers endpoint
Pulsar admin APIsJava admin API, which lists all classes, methods, descriptions, and more.See the brokers method of the PulsarAdmin object

List active broker

Fetch all available active brokers that are serving traffic with cluster name.

pulsar-admin brokers list use

Example output:

localhost:8080

List namespace owned by broker

You can list all namespaces which are owned and served by a given broker.

pulsar-admin brokers namespaces use \
--url localhost:8080

Example output:

public/default/0x00000000_0x40000000    [broker_assignment=shared is_controlled=false is_active=true]
public/default/0xc0000000_0xffffffff [broker_assignment=shared is_controlled=false is_active=true]
public/functions/0x40000000_0x80000000 [broker_assignment=shared is_controlled=false is_active=true]
public/functions/0x00000000_0x40000000 [broker_assignment=shared is_controlled=false is_active=true]
pulsar/standalone/localhost:8080/0x00000000_0xffffffff [broker_assignment=shared is_controlled=false is_active=true]
pulsar/localhost:8080/0x00000000_0xffffffff [broker_assignment=shared is_controlled=false is_active=true]
public/functions/0x80000000_0xc0000000 [broker_assignment=shared is_controlled=false is_active=true]
public/default/0x80000000_0xc0000000 [broker_assignment=shared is_controlled=false is_active=true]

Update broker conf

You can update broker configurations using one of the following ways:

  • Supply configurations when starting up brokers.

  • Update configurations dynamically when running brokers.

    Since all broker configurations in Pulsar are stored in ZooKeeper, configuration values can also be dynamically updated when brokers are running. When you update broker configurations dynamically, ZooKeeper will notify the broker of the change and then the broker will override any existing configuration values.

List updatable broker conf

Fetch a list of all potentially updatable configuration parameters.

pulsar-admin brokers list-dynamic-config

Example output:

forceDeleteNamespaceAllowed
loadBalancerMemoryResourceWeight
allowAutoTopicCreation
brokerDeleteInactivePartitionedTopicMetadataEnabled
managedLedgerInactiveLedgerRolloverTimeSeconds
loadBalancerNamespaceBundleMaxMsgRate
resourceUsageTransportPublishIntervalInSecs
# omit...

Update broker conf dynamically

The update-dynamic-config subcommand will update existing configuration. It takes two arguments: the name of the parameter and the new value using the config and value flag respectively. Here's an example of the brokerShutdownTimeoutMs parameter:

pulsar-admin brokers update-dynamic-config --config brokerShutdownTimeoutMs --value 100

List updated broker conf

Fetch a list of all parameters that have been dynamically updated.

pulsar-admin brokers get-all-dynamic-config

Example output:

brokerShutdownTimeoutMs    100

Get info of leader broker

Fetch the information of the leader broker, for example, the service URL.

pulsar-admin brokers leader-broker

Example output:

{
"serviceUrl" : "http://localhost:8080"
}