pulsar 常用命令

简介: pulsar 常用命令

stanalone 启动

bin/pulsar standalone :当前terminal运行,terminal关闭,服务关闭
pulsar-daemon start/stop standalone :后台运行的standalone服务模式

client常见命令

bin/pulsar-client produce my-topic --messages "hello-pulsar"
向my-topic这个topic生产数据,内容为“hello-pulsar”,如果topic不存在,pulsar会自动创建
bin/pulsar-client consume persistent://sd-bigdata/ns-ods/smartnews-sentiment-test -s "first-subscription" -n 10
消费my-topic的数据,订阅名称为“first-subscription", 如果topic不存在,pulsar会自动创建

pulasar-admin常见命令

### 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

对租户授权(创建角色并授权)

# 创建role
bin/pulsar-admin tenants create sd-scrapy -r r_scrapy
# 生成token
bin/pulsar tokens create --secret-key key/my-secret.key --subject sd-bigdata --expiry-time 10y
# 授权
bin/pulsar-admin namespaces grant-permission sd-bigdata/ns-ods --role sd-bigdata --actions produce,consume

直接对租户授权‍

# 生成token
bin/pulsar tokens create --secret-key key/my-secret.key --subject sd-bigdata --expiry-time 10y
--subject sd-bigdata   租户
# 授权
bin/pulsar-admin namespaces grant-permission sd-bigdata/ns-ods --role sd-bigdata --actions produce,consum

topic 层设置消息保留策略

broker.conf设置:

systemTopicEnabled=true
topicLevelPoliciesEnabled=true

执行命令:

 pulsar-admin topics set-message-ttl tenant/namespace/topic options

60a6bcefe26f4b118e50f46e4d0afd1d.png

其它命令:

pulsar-admin broker-stats allocator-stats allocator-name
pulsar-admin broker-stats topics options
pulsar-admin broker-stats mbeans options
pulsar-admin broker-stats monitoring-metrics options
# Options
# Flag             Description      Default
# -i, --indent  Indent JSON output  false
pulsar-admin broker-stats load-report
pulsar-admin brokers subcommand
# Subcommands
# compact
# compaction-status
# offload
# offload-status
# create-partitioned-topic
# create-missed-partitions
# delete-partitioned-topic
# create
# get-partitioned-topic-metadata
# update-partitioned-topic
# list-partitioned-topics
# list
# terminate
# permissions
# grant-permission
# revoke-permission
# lookup
# bundle-range
# delete
# unload
# create-subscription
# subscriptions
# unsubscribe
# stats
# stats-internal
# info-internal
# partitioned-stats
# partitioned-stats-internal
# skip
# clear-backlog
# expire-messages
# expire-messages-all-subscriptions
# peek-messages
# reset-cursor
# get-message-by-id
# last-message-id
# get-backlog-quotas
# set-backlog-quota
# remove-backlog-quota
# get-persistence
# set-persistence
# remove-persistence
# get-message-ttl
# set-message-ttl
# remove-message-ttl
# get-deduplication
# set-deduplication
# remove-deduplication
# get-retention
# set-retention
# remove-retention
# get-dispatch-rate
# set-dispatch-rate
# remove-dispatch-rate
# get-max-unacked-messages-per-subscription
# set-max-unacked-messages-per-subscription
# remove-max-unacked-messages-per-subscription
# get-max-unacked-messages-per-consumer
# set-max-unacked-messages-per-consumer
# remove-max-unacked-messages-per-consumer
# get-delayed-delivery
# set-delayed-delivery
# remove-delayed-delivery
# get-max-producers
# set-max-producers
# remove-max-producers
# get-max-consumers
# set-max-consumers
# remove-max-consumers
# get-compaction-threshold
# set-compaction-threshold
# remove-compaction-threshold
# get-offload-policies
# set-offload-policies
# remove-offload-policies
# get-inactive-topic-policies
# set-inactive-topic-policies
# remove-inactive-topic-policies
# set-max-subscriptions
# get-max-subscriptions
# remove-max-subscriptions
pulsar-admin brokers list cluster-name
pulsar-admin brokers leader-broker
pulsar-admin brokers namespaces cluster-name options
# Options
# --url  The URL for the broker
pulsar-admin brokers update-dynamic-config options
# Options
# Flag          Description  
# --config  Service configuration parameter name  
# --value  Value for the configuration parameter value specified using the --config flag
pulsar-admin brokers list-dynamic-config
pulsar-admin topics get-persistence tenant/namespace/topic
pulsar-admin topics set-persistence tenant/namespace/topic options
pulsar-admin schemas delete persistent://tenant/namespace/topic
pulsar-admin schemas get persistent://tenant/namespace/topic --version xx
pulsar-admin schemas upload persistent://tenant/namespace/topic  --filename xx/xx/xx/..
pulsar-admin topics remove-deduplication tenant/namespace/topic
pulsar-admin topics get-deduplication tenant/namespace/topic
pulsar-admin topics remove-message-ttl tenant/namespace/topic 
pulsar-admin topics get-message-ttl tenant/namespace/topic
pulsar-admin topics remove-persistence tenant/namespace/topic
pulsar-admin topics get-persistence tenant/namespace/topic
pulsar-admin topics last-message-id persistent://tenant/namespace/topic
pulsar-admin topics get-message-by-id topic options
# Options
# Flag  Description  Default
# -l, --ledgerId  The ledger id  0
# -e, --entryId  The entry id  0
pulsar-admin topics reset-cursor topic options
# Options
# Flag                        Description 
# -s, --subscription  Subscription to reset position on  
# -t, --time  The time in minutes to reset back to (or minutes, hours, days, weeks, etc.). Examples: 100m, 3h, 2d, 5w.  
# -m, --messageId  The messageId to reset back to (ledgerId:entryId).
pulsar-admin topics peek-messages topic options
# Options
# Flag                Description                   Default
# -n, --count  The number of messages                 0
# -s, --subscription  Subscription to get messages from  
pulsar-admin functions start options
# Options
# Flag                   Description  
# --fqfn         The Fully Qualified Function Name (FQFN) for the function  
# --instance-id  The function instanceId (start all instances if instance-id is not provided)  
# --name         The function's name  
# --namespace    The function's namespace  
# --tenant       The function's tenant  
 pulsar-admin namespaces set-persistence tenant/namespace options
# Options
# Flag  Description  Default
# -a, --bookkeeper-ack-quorum  The number of acks (guaranteed copies) to wait for each entry  0
# -e, --bookkeeper-ensemble  The number of bookies to use for a topic  0
# -w, --bookkeeper-write-quorum  How many writes to make of each entry  0
# -r, --ml-mark-delete-max-rate  Throttling rate of mark-delete operation (0 means no throttle)  


    相关文章
    |
    消息中间件 Java Linux
    聊聊 Pulsar: 在 Linux 环境上搭建 Pulsar
    聊聊 Pulsar: 在 Linux 环境上搭建 Pulsar
    459 0
    |
    存储 消息中间件 监控
    Pulsar 介绍与部署
    Pulsar 介绍与部署
    4284 0
    Pulsar 介绍与部署
    |
    9月前
    |
    Kubernetes 固态存储 容器
    pulsar on k8s
    pulsar on k8s
    |
    算法 网络协议 数据中心
    05SpringCloud - Consul常用命令
    05SpringCloud - Consul常用命令
    65 0
    |
    9月前
    |
    存储 缓存 Unix
    sar命令详解
    `sar`是Linux性能分析工具,用于收集和报告CPU使用率、内存、磁盘I/O、网络和进程活动等系统性能数据。基本语法:`sar [options] [interval] [count]`。例如,`sar -u 5`每5秒显示CPU使用情况。`-A`显示所有报告,`-o file`将结果保存到文件。要使用`sar`,需先安装`sysstat`包。不同发行版支持的选项可能有差异,建议查阅手册页。
    127 2
    |
    网络协议 算法 Java
    聊聊 Pulsar: Pulsar 分布式集群搭建
    聊聊 Pulsar: Pulsar 分布式集群搭建
    1089 0
    |
    存储 SQL 缓存
    聊聊 Pulsar:编译 Pulsar 源码并搭建源码环境
    聊聊 Pulsar:编译 Pulsar 源码并搭建源码环境
    425 0
    Pulsar常用命令记录
    Pulsar常用命令记录
    267 0