pulsar的常用命令总结

1 Pulsar的常用命令
1.1 client客户端
Pulsar 的 Local模式的基本使用:
(1)生产数据
bin/pulsar-client produce my-topic --messages “hello-pulsar”

说明:向my-topic这个topic生产数据,内容为“hello-pulsar”,如果topic不存在,pulsar会自动创建;

(2)消费数据
bin/pulsar-client consume my-topic -s “first-subscription”

说明:消费my-topic的数据,订阅名称为“first-subscription", 如果topic不存在,pulsar会自动创建;

Pulsar 的分布式集群模式的基本使用:
(1)生产数据
bin/pulsar-client produce persistent://public/default/test --messages “hello-pulsar”

说明:向my-topic这个topic生产数据,内容为“hello-pulsar”,如果topic不存在,pulsar会自动创建;

(2)消费数据
bin/pulsar-client consume persistent://public/default/test -s “first-subscription”

说明:消费my-topic的数据,订阅名称为“first-subscription", 如果topic不存在,pulsar会自动创建;

1.2 Pulsar多租户的相关操作
(1)获取租户列表
./pulsar-admin tenants list

(2)创建租户
./pulsar-admin tenants create my-tenant

./pulsar-admin tenants create my-tenant -r role1,role2,role3
在创建租户时,可以使用-r或者–admin-roles标志分配管理角色。可以用逗号分隔的列表指定多个角色;

(3)获取配置信息
./pulsar-admin tenants get my-tenant

(4)更新配置信息
./pulsar-admin tenants update my-tenant -r ‘pro’

添加一个pro角色;
(5)删除租户
./pulsar-admin tenants delete my-tenant

1.3 Pulsar名称空间的相关操作
(1)在指定的租户下创建名称空间
./pulsar-admin namespaces create test-tenant/test-namespace

(2)获取所有的名称空间列表
./pulsar-admin namespaces list test-tenant

(3)删除名称空间
./pulsar-admin namespaces delete test-tenant/ns1

(4)获取名称空间相关的配置策略
./pulsar-admin namespaces policies test-tenant/test-namespace

(5)配置复制集群
1- 设置复制集群:
./pulsar-admin namespaces set-clusters test-tenant/ns1 --clusters cl2

2- 获取给定命名空间复制集群的列表
./pulsar-admin namespaces get-clusters test-tenant/ns1

(6)配置backlog quota策略
1- 设置backlog quota 策略
./pulsar-admin namespaces set-backlog-quota --limit 10G --limitTime 36000 --policy producer_request_hold test-tenant/ns1

–policy 的值选择:
producer_request_hold:broker 暂停运行,并不再持久化生产请求负载
producer_exception:broker 抛出异常,并与客户端断开连接。
consumer_backlog_eviction:broker 丢弃积压消息

2- 获取 backlog quota 策略
./pulsar-admin namespaces get-backlog-quotas test-tenant/ns1

3 - 移除backlog quota策略
./pulsar-admin namespaces remove-backlog-quota test-tenant/ns1

(7)配置持久化策略
1- 设置持久化策略
./pulsar-admin namespaces set-persistence --bookkeeper-ack-quorum 2 --bookkeeper-ensemble 3 --bookkeeper-write-quorum 2 --ml-mark-delete-max-rate 0 test-tenant/ns1

参数说明:
bookkeeper-ack-quorum:每个 entry 在等待的 acks(有保证的副本)数量,默认值:0;
bookkeeper-ensemble:单个 topic 使用的 bookie 数量,默认值:0;
bookkeeper-write-quorum:每个 entry 要写入的次数,默认值:0;
ml-mark-delete-max-rate:标记-删除操作的限制速率(0表示无限制),默认值:0.0;

2- 获取持久化策略
./pulsar-admin namespaces get-persistence test-tenant/ns1

(8)配置消息存活时间(TTL)
1- 设置消息存活时间
./pulsar-admin namespaces set-message-ttl -ttl 100 test-tenant/ns1

2- 获取消息的存活时间
./pulsar-admin namespaces get-message-ttl test-tenant/ns1

3- 删除消息的存活时间
./pulsar-admin namespaces remove-message-ttl test-tenant/ns1

(9)配置整个名称空间中Topic的消息发送速率
1- 设置Topic的消息发送的速率
./pulsar-admin namespaces set-dispatch-rate test-tenant/ns1
–msg-dispatch-rate 1000
–byte-dispatch-rate 1048576
–dispatch-rate-period 1

参数说明:
–msg-dispatch-rate : 每dispatch-rate-period秒钟发送的消息数量
–byte-dispatch-rate : 每dispatch-rate-period秒钟发送的总字节数
–dispatch-rate-period : 设置发送的速率, 比如1表示每秒钟

2 获取topic的消息发送速率
./pulsar-admin namespaces get-dispatch-rate test-tenant/ns1

(10)配置整个名称空间中Topic的消息接收速率
1- 设置Topic的消息接收的速率
./pulsar-admin namespaces set-subscription-dispatch-rate test-tenant/ns1
–msg-dispatch-rate 1000
–byte-dispatch-rate 1048576
–dispatch-rate-period

参数说明:
–msg-dispatch-rate : 每dispatch-rate-period秒钟接收的消息数量
–byte-dispatch-rate : 每dispatch-rate-period秒钟接收的总字节数
–dispatch-rate-period : 设置接收的速率, 比如1表示每秒钟

2 获取topic的消息接收速率
./pulsar-admin namespaces get-subscription-dispatch-rate test-tenant/ns1

(11)配置整个名称空间中Topic的复制集群的速率
1- 设置Topic的消息复制集群的速率
./pulsar-admin namespaces set-replicator-dispatch-rate test-tenant/ns1
–msg-dispatch-rate 1000
–byte-dispatch-rate 1048576
–dispatch-rate-period 1

参数说明:
–msg-dispatch-rate : 每dispatch-rate-period秒钟复制集群的消息数量
–byte-dispatch-rate : 每dispatch-rate-period秒钟复制集群的总字节数
–dispatch-rate-period : 设置复制集群的速率, 比如1表示每秒钟

2 获取topic的消息复制集群的速率
./pulsar-admin namespaces get-replicator-dispatch-rate test-tenant/ns1

1.4 Pulsar Topic(主题)的相关操作
(1)创建Topic
方式一: 创建一个没有分区的topic
bin/pulsar-admin topics create persistent://my-tenant/my-namespace/my-topic

方式二: 创建一个有分区的topic
bin/pulsar-admin topics create-partitioned-topic persistent://my-tenant/my-namespace/my-topic --partitions 4

注意: 不管是有分区还是没有分区, 创建topic后,如果没有任何操作, 60s后pulsar会认为此topic是不活动的, 会自动进行删除, 以避免生成垃圾数据;

相关配置:
brokerdeleteinactivetopicsenabenabled : 默认值为true 表示是否启动自动删除;
brokerDeleteInactiveTopicsFrequencySeconds: 默认为60s 表示检测未活动的时间;

(2)列出当前某个名称空间下的所有Topic
./pulsar-admin topics list my-tenant/my-namespace

(3)更新Topic操作
我们可针对有分区的topic去更新其分区的数量;
./pulsar-admin topics update-partitioned-topic persistent://my-tenant/my-namespace/my-topic --partitions 8

(4)删除Topic操作
1- 删除没有分区的topic:
bin/pulsar-admin topics delete persistent://my-tenant/my-namespace/my-topic

2-删除有分区的topic
bin/pulsar-admin topics delete-partitioned-topic persistent://my-tenant/my-namespace/my-topic

(5)授权
./pulsar-admin topics grant-permission --actions produce,consume --role application1 persistent://test-tenant/ns1/tp1

(6)获取授权
./pulsar-admin topics grant-permission --actions produce,consume --role application1 persistent://test-tenant/ns1/tp1

(7)取消授权
./pulsar-admin topics revoke-permission --role application1 persistent://test-tenant/ns1/tp1

1.5 Pulsar Function轻量级计算框架
(1)构建function
bin/pulsar-admin functions create
–jar examples/api-examples.jar
–classname org.apache.pulsar.functions.api.examples.ExclamationFunction
–inputs persistent://public/default/exclamation-input
–output persistent://public/default/exclamation-output
–tenant public
–namespace default
–name exclamation

bin/pulsar-admin functions属性说明:
functions:
可选值:
localrun: 创建本地function进行运行
create: 在集群模式下创建
delete: 删除在集群中运行的function
get: 获取function的相关信息
restart: 重启
stop : 停止运行
start: 启动
status: 检查状态
stats: 查看状态
list: 查看特定租户和名称空间下的所有的function
–classname: 设置function执行类;
–jar: 设置function对应的jar包;
–inputs : 输入的topic;
–output : 输出的topic;
–tenant : 设置function运行在那个租户中;
–namespace: 设置function运行在那个名称空间中;
–name : 定义function的名称;

(2)启动function
检查是否按照预期触发函数运行;
bin/pulsar-admin functions trigger --name exclamation --trigger-value “hello world”

1.6 Pulsar跨机房复制配置
假如有三个pulsar数据中心的方案(cluster1, cluster2, cluster3);

第一步: 首先创建一个租户, 并给予三个数据中心的权限;
bin/pulsar-admin tenants create my-tenant
–allowed-clusters cluster1, cluster2, cluster3

第二步: 创建namespace;
bin/pulsar-admin namespaces create my-tenant/my-namespace

第三步: 设置namespace中topic在那些数据中心之间进行互备;
bin/pulsar-admin namespaces set-clusters my-tenant/my-namespace
–clusters cluster1, cluster2, cluster3
————————————————
版权声明:本文为CSDN博主「For Coding」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_46689661/article/details/123176094

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SpringBoot整合Pulsar是一种将Pulsar客户端与SpringBoot框架结合使用的方法。首先,需要在项目的依赖中引入Pulsar客户端的依赖项,如下所示: ```xml <dependency> <groupId>org.apache.pulsar</groupId> <artifactId>pulsar-client</artifactId> <version>2.9.1</version> </dependency> ``` 接下来,在项目的配置文件中添加Pulsar相关的配置,包括Pulsar的地址、主题和消费者组等信息。例如: ```properties # Pulsar地址 pulsar.url=pulsar://192.168.59.155:6650 # 主题 pulsar.topic=testTopic # 消费者组 pulsar.subscription=topicGroup ``` 然后,可以创建PulsarClient对象,用于与Pulsar进行交互。 关于Pulsar的部署命令,可以使用以下命令进行部署: ```shell docker run -it -p 6650:6650 -p 8080:8080 --mount source=pulsardata,target=/pulsar/data --mount source=pulsarconf,target=/pulsar/conf apache/pulsar:2.9.1 bin/pulsar standalone ``` 以上是SpringBoot整合Pulsar的基本步骤和命令。通过这种方式,可以在SpringBoot项目中使用Pulsar进行消息传递和处理。 #### 引用[.reference_title] - *1* *2* *3* [Spring Boot 整合分布式消息平台 Pulsar](https://blog.csdn.net/m0_73311735/article/details/131532850)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值