### tenants
查看所有tenants bin/pulsar-admin tenants list
创建tenants bin/pulsar-admin tenants create my-tenant
删除tenants bin/pulsar-admin tenants delete my-tenant
### broker
查看存活的broker信息 pulsar-admin brokers list use
查看broke如上的namesapce pulsar-admin brokers namespaces use --url broker1.use.org.com:8080
查看可以动态更新的配置 pulsar-admin brokers list-dynamic-config
查看已经动态更新过的配置 pulsar-admin brokers get-all-dynamic-config
动态更新配置 pulsar-admin brokers update-dynamic-config brokerShutdownTimeoutMs 100
### namespace
查看tenant下的所有namespace pulsar-admin namespaces list test-tenant
创建namespace pulsar-admin namespaces create test-tenant/test-namespace
查看namespace策略 pulsar-admin namespaces policies test-tenant/test-namespace
删除namespace pulsar-admin namespaces delete test-tenant/ns1
### permission
pulsar的权限控制是在namespace级别的,
授权
pulsar-admin namespaces grant-permission test-tenant/ns1 \
--actions produce,consume \
--role admin10
注意:当broker.conf中的authorizationAllowWildcardsMatching 为true时,支持通配符匹配,例如,
pulsar-admin namespaces grant-permission test-tenant/ns1 \
--actions produce,consume \
--role 'my.role.*'
获取授权信息
pulsar-admin namespaces permissions test-tenant/ns1
撤销授权
pulsar-admin namespaces revoke-permission test-tenant/ns1 \
--role admin10
### persistent topics
查看namespace下的topic信息 pulsar-admin persistent list my-tenant/my-namespace
列举persistent topic pulsar-admin topics list tenant/namespace
给客户端添加针对于某个topic的role(许可)
pulsar-admin persistent grant-permission --actions produce,consume --role application1
persistent://test-tenant/ns1/topic1
获取许可信息
pulsar-admin persistent permissions \
persistent://test-tenant/ns1/tp1
回滚许可
pulsar-admin persistent revoke-permission \
--role application1 \
persistent://test-tenant/ns1/tp1 \
删除topic
pulsar-admin persistent delete \
persistent://test-tenant/ns1/tp1 \
下线topic
pulsar-admin persistent unload \
persistent://test-tenant/ns1/tp1
查看topic相关的统计信息
pulsar-admin persistent stats \
persistent://test-tenant/ns1/tp1
查看topic内部统计信息
pulsar-admin persistent stats-internal \
persistent://test-tenant/ns1/tp1
peek 消息
pulsar-admin persistent peek-messages \
--count 10 --subscription my-subscription \
persistent://test-tenant/ns1/tp1
跳过消费部分消息
pulsar-admin persistent skip \
--count 10 --subscription my-subscription \
persistent://test-tenant/ns1/tp1
跳过所有数据
pulsar-admin persistent skip-all \
--subscription my-subscription \
persistent://test-tenant/ns1/tp1 \
重置消费cursor到几分钟之前
pulsar-admin persistent reset-cursor \
--subscription my-subscription --time 10 \
persistent://test-tenant/ns1/tp1 \
查找topic所在的broker信息
pulsar-admin persistent lookup \
persistent://test-tenant/ns1/tp1 \
获取topic的bundle信息
pulsar-admin persistent bundle-range \
persistent://test-tenant/ns1/tp1 \
"0x00000000_0xffffffff"
查询topic的订阅信息
pulsar-admin persistent subscriptions \
persistent://test-tenant/ns1/tp1 \
取消订阅
pulsar-admin persistent unsubscribe \
--subscription my-subscription \
persistent://test-tenant/ns1/tp1 \
最后一条消息的MessageID
pulsar-admin topics last-message-id topic-name non-persistent topics
获取统计信息
pulsar-admin non-persistent stats \
non-persistent://test-tenant/ns1/tp1 \
获取内存统计信息
pulsar-admin non-persistent stats-internal \
non-persistent://test-tenant/ns1/tp1 \
创建非持久化分区topic
bin/pulsar-admin non-persistent create-partitioned-topic \
non-persistent://my-tenant/my-namespace/my-topic \
--partitions 4
创建持久化分区topic
bin/pulsar-admin persistent create-partitioned-topic \
persistent://sd-bigdata/ns-ods/smartnews-sentiment-test2 \
--partitions 8
创建持久化非分区topic
bin/pulsar-admin topics create persistent://my-tenant/my-namespace/my-topic
创建非持久化非分区topic
bin/pulsar-admin topics create non-persistent://my-tenant/my-namespace/my-topic
分区topic的元数据信息
pulsar-admin non-persistent get-partitioned-topic-metadata \
non-persistent://my-tenant/my-namespace/my-topic
下线topic
pulsar-admin non-persistent unload \
non-persistent://test-tenant/ns1/tp1
获取分区topic的元数据信息
pulsar-admin topics get-partitioned-topic-metadata \
persistent://my-tenant/my-namespace/my-topic
更新topic信息
pulsar-admin topics update-partitioned-topic \
persistent://my-tenant/my-namespace/my-topic \
--partitions 8
注意:修改分区数量时,只能比原来的分区数大
删除topic
bin/pulsar-admin topics delete-partitioned-topic \
persistent://my-tenant/my-namespace/my-topic
获取统计信息
pulsar-admin topics partitioned-stats \
persistent://test-tenant/namespace/topic \
--per-partition
获取内部统计信息
pulsar-admin topics stats-internal \
persistent://test-tenant/namespace/topic
### Schema
上传schema
pulsar-admin schemas upload <topic-name> --filename /path/to/schema-definition-file
获取schema
pulsar-admin schemas get <topic-name>
删除schema
pulsar-admin schemas delete <topic-name>
# 创建集群(集群名:pulsar-cluster)
./bin/pulsar-admin clusters create --url http://pulsar.cluster.com:8080 pulsar-cluster
# 创建租户(租户名:my-tenant)
./bin/pulsar-admin tenants create my-tenant
# 创建命名空间(命名空间名,指定了租户my-tenant:my-tenant/my-namespace)
./bin/pulsar-admin namespaces create my-tenant/my-namespace
# 更新命名空间为其指定集群
./bin/pulsar-admin namespaces set-clusters my-tenant/my-namespace --clusters pulsar-cluster
### Manage schema
启用自动更新
bin/pulsar-admin namespaces set-is-allow-auto-update-schema --enable tenant/namespace
禁用自动更新
bin/pulsar-admin namespaces set-is-allow-auto-update-schema --disable tenant/namespace
调整兼容性
bin/pulsar-admin namespaces set-schema-compatibility-strategy --compatibility <compatibility-level> tenant/namespace
### 设置保留策略
命名空间内的每个主题的大小限制设置为 10 GB,时间限制设置为 3 小时。(即三小时内最大限制为10GB)
pulsar-admin namespaces set-retention my-tenant/my-ns \
--size 10G \
--time 3h
时间不受限制,大小限制设置为 1 TB。大小限制决定了保留。
pulsar-admin namespaces set-retention my-tenant/my-ns \
--size 1T \
--time -1
要实现无限保留,请将两个值都设置为-1
pulsar-admin namespaces set-retention my-tenant/my-ns \
--size -1 \
--time -1
要禁用保留策略,请将两个值都设置为0。
pulsar-admin namespaces set-retention my-tenant/my-ns \
--size 0 \
--time 0
### 清除积压
pulsar-admin namespaces clear-backlog my-tenant/my-ns
### TTL
为命名空间设置 TTL
pulsar-admin namespaces set-message-ttl my-tenant/my-ns \
--messageTTL 120
获取命名空间的 TTL配置
pulsar-admin namespaces get-message-ttl my-tenant/my-ns
删除命名空间的 TTL配置
pulsar-admin namespaces remove-message-ttl my-tenant/my-ns