pulsar bookies清理磁盘方法

盛年不重来,一日难再晨,及时当勉励,岁月不待人。这篇文章主要讲述pulsar bookies清理磁盘方法相关的知识,希望能为你提供帮助。
背景5台bookies的硬盘被打满,导致pulsar不能正常提供服务。当bookies的硬盘被打到95%以上,会自动把bookies给设置为readonly的

pulsar bookies清理磁盘方法

文章图片

原因是因为有消费者积压,造成大量的数据未被消费确认。默认情况下,Pulsar 会永久存储所有未确认的消息。在大量消息未得到确认的情况下,会导致大量磁盘空间的使用。因此,我们需要将未确认的消息从硬盘中清除
操作方法1,可以设置生存时间(TTL)
使用 set-message-ttl 子命令并指定命名空间和TTL(以秒为单位,使用-ttl/--messageTTL参数指定)
# bin/pulsar-admin namespaces set-message-ttlpublic/default --messageTTL 60

设置成功后,查看下TTL的配置情况,使用 get-message-ttl 子命令并指定命名空间。
bin/pulsar-admin namespaces get-message-ttlpublic/default

pulsar bookies清理磁盘方法

文章图片


2,设置保留策略
可以通过pulsar-admin来设置 命名空间、大小限制和时间限制来设置命名空间的保留策略。
使用set-retention子命令并指定命名空间,使用-s/--size参数指定大小限制,使用-t/--time参数指定时间限制。
bin/pulsar-admin namespaces set-retentionpublic/default --size 1G --time 2m

public/default 命名空间中的每一个主题大小限制设置为 10GB,时间限制设置为2分钟。 - 当保留时间在2分钟内的主题消息大小达到1GB时,确认的消息将不会被保留。 - 2分钟后,即使主题的消息大小小于1GB,已确认的消息也不会保留。
查看策略是否执行成功,使用 get-retention 子命令并指定命名空间。
bin/pulsar-admin namespaces get-retentionpublic/default{ "retentionTimeInMinutes" : 2, "retentionSizeInMB" : 1024 }


3,将TTL和Retention保留策略恢复
等未被确认的数据都被删除了,需要将策略恢复,查看硬盘使用情况
pulsar bookies清理磁盘方法

文章图片

恢复TTL配置
pulsar-admin namespaces remove-message-ttlpublic/default


要禁用消息保留策略配置,将值设置为 0
bin/pulsar-admin namespaces set-retentionpublic/default --size 0 --time 0


【pulsar bookies清理磁盘方法】

    推荐阅读