Pulsar 的 broker 由两个组件构成:
Borker 可以通过以下方式管理:
pulsar-admin
工具的brokers
命令- Admin REST API中的
/admin/v2/brokers
- Java API中PulsarAdmin 对象的
brokers
方法
除了在启动时候可配置外,borker还可以被动态配置
有关完整的broker配置参数列表,请参阅配置页。
Broker资源
列出活跃的broker
获取所有正在服务,可用的活跃broker。
pulsar-admin
$ pulsar-admin brokers list use
broker1.use.org.com:8080
REST
GET /admin/v2/brokers/:cluster
Java
admin.brokers().getActiveBrokers(clusterName)
列出给定Broker所拥有的命名空间列表
找到所有给定broker拥有和服务的的命名空间。
CLI
$ pulsar-admin brokers namespaces use \
--url broker1.use.org.com:8080
{
"my-property/use/my-ns/0x00000000_0xffffffff": {
"broker_assignment": "shared",
"is_controlled": false,
"is_active": true
}
}
REST
GET /admin/v2/brokers/:cluster/:broker/ownedNamespaces
Java
admin.brokers().getOwnedNamespaces(cluster,brokerUrl);
动态Broker配置
配置Pulsar broker的一种方式是,在broker启动时给出配置。
But since all broker configuration in Pulsar is stored in ZooKeeper, configuration values can also be dynamically updated while the broker is running. 当动态更新broker的值,ZooKeeper将会把变化通知到broker,broker将会覆盖所有现有的配置值。
pulsar-admin
工具的brokers
命令,有着多种多样的子命令,这使得你可以动态操作broker配置,你可以更新配置值及更多。- Pulsar admin REST API中,动态配置通过
/admin/v2/brokers/configuration
端点管理。
更新动态配置
pulsar-admin
update-dynamic-config
子命令用来更新现有配置。 It takes two arguments: the name of the parameter and the new value using the config
and value
flag respectively. 下面是关于brokerShutdownTimeoutMs
参数的例子:
$ pulsar-admin brokers update-dynamic-config --config brokerShutdownTimeoutMs --value 100
REST API
POST /admin/v2/brokers/configuration/:configName/:configValue
Java
admin.brokers().updateDynamicConfiguration(configName, configValue);
列出更新的值
获取所有可能可更新的配置参数列表。
pulsar-admin
$ pulsar-admin brokers list-dynamic-config
brokerShutdownTimeoutMs
REST API
GET /admin/v2/brokers/configuration
Java
admin.brokers().getDynamicConfigurationNames();
列出所有
列出所有已经被动态更新的参数列表。
pulsar-admin
$ pulsar-admin brokers get-all-dynamic-config
brokerShutdownTimeoutMs:100
REST API
GET /admin/v2/brokers/configuration/values
Java
admin.brokers().getAllDynamicConfigurations();