pulsar学习随笔

pulsar学习文档

多租户命令

  1. 查看所有租户命令:./pulsar-admin tenants list
  2. 创建租户命令:./pulsar-admin tenants create zsk
  3. 查看某个租户信息:./pulsar-admin tenants get zsk
  4. 更新某个租户信息:./pulsar-admin tenants update zsk -r "dev"
  5. 删除某个租户信息:./pulsar-admin tenants delete zsk

pulsar名称空间

  1. 分为本地namespace(仅定义的集群可见)和全局namespace(跨集群可见),namespace是pulsar中最基本的管理单元,可以设置权限,调整副本设置,管理跨集群的消息复制,控制消息策略和执行关键操作。一个主题topic可以继承其对应的namespace属性。
  2. 在指定租户下创建名称空间:./pulsar-admin namespace create zsk/test-namespace 指定租户下的名称空间
  3. 获取所有的名称空间: ./pulsar-admin namespace list zsk
  4. 查看某个租户的具体信息: ./pulsar-admin namespace get zsk/test-namespace
  5. 删除名称空间:./pulsar-admin namespace delete test-tenant
  6. 查看名称空间相关的配置策略:./pulsar-admin namespaces policies zsk/test-namespace

pulsar名称空间高级配置

  1. 配置复制集群:./pulsar-admin namespaces set-clusters zsk/test-namespace --cluster cl2
  2. 获取给定名称空间复制集群的列表:./pulsar-admin namespaces get-clusters zsk/test-namespace
  3. 配置backlog quota策略:./pulsar-admin namespaces set-backlog-quato --limit 10G --limitTime 36000 --policy producer_request_hold zsk/test-namespace
  • policy的值选择:
  • producer_request_hold:broker暂停运行,并且不再持久化生产请求负载。
  • producer_exception:broker抛出异常,并与客户端断开连接。
  • consumer_backlog_eviction:broker丢弃积压消息。
  1. 获取backlog quota策略:./pulsar-admin namespaces get-backlog-quotas zsk/test-namespace
  2. 移除backlog quota策略: ./pulsar-admin namespaces remove-backlog-quato zsk/test-namespace
  3. 设置持久化策略:./pulsar-admin namespaces set-persistence --bookkeeper-ack-quorum 2 --bookkeeper-ensemble 3 --bookkeeper-write-quorum 2 --ml-mark-delete-max-rate 0 zsk/test-namespace

参数说明:

  • bookkeeper-ack-quorum:每个entry在等待的acks(有保证的副本)数量,默认值:0
  • bookkeeper-ensemble:单个topic使用的bookie数量,默认值:0
  • bookkeeper-write-quorum:每个entry要写入的次数,默认值:0
  • ml-mark-delete-max-rate:标记删除操作的限制速率(0.0表示无限制),默认值:0.0
  1. 设置消息存活时间:./pulsar-admin namespaces set-message-ttl --messageTTL 100 zsk/test-namespace
  2. 获取消息的存活时间:./pulsar-admin namespaces get-message-ttl zsk/test-namespace
  3. 删除消息的存活时间: ./pulsar-admin namespaces remove-message-ttl zsk/test-namespace
  4. 设置topic消息发送的速率:./pulsar-admin namespaces set-dispatch-rate zsk/test-namespace --msg-dispatch-rate 1000 --byte-dispatch-rate 1048576 --dispatch-rate-period 1
  • msg-dispatch-rate 每秒钟发送的消息数量
  • byte-dispatch-rate 每秒钟发送的总字节数
  • dispatch-rate-period 设置发送的速率,比如1表示每秒钟

topic主题

  1. 持久化topic地址的命名格式: persistent://tenant/namespace/topic
  2. 非持久化topic地址的命名格式:non-persistent://tenant/namespace/topic
  3. 创建一个没有分区的topic: ./pulsar-admin topics create persistent://zsk/test-namespace/my-topic
  4. 创建要给有分区的topic: ./pulsar-admin topics create-partitioned-topic persistent://zsk/test-namespace/my-topic --partitions 4
  • 注意:不管有没有分区,topic创建后,如果没有任何操作,60秒后pulsar会认为此topic是不活动的,会自动进行删除,以避免产生垃圾数据。
  • brokerdeleteinactivetopicsenabenabled:默认值为true,表示是否自动删除topic
  • brokerdeleteinactivetopicsfrequencyseconds:默认值为60s,表示检测未活动的时间。
  1. 更新topic:./pulsar-admin topics update-partitioned-topic persistent://zsk/test-namespace/my-topic --partitions 8

对有分区的topic更新其分区数量。

  1. 删除没有分区的topic:./pulsar-admin topics delete persistent://zsk/test-namespace/my-topic
  2. 删除有分区的topic:./pulsar-admin topics delete-partitioned-topic persistent://zsk/test-namespace/my-topic
  3. 授权:./pulsar-admin topics grant-permission --actions produce,consume, --role application1 persistent://zsk/test-namespace/my-topic

对主题授予生产,消费权限。

  1. 取消权限: ./pulsar-admin topics revoke-permission --role application1 persistent://zsk/test-namespace/my-topic

posted on 2022-08-08 20:59  张少凯  阅读(511)  评论(0编辑  收藏  举报

导航