盛年不重来,一日难再晨,及时当勉励,岁月不待人。这篇文章主要讲述pulsar bookies清理磁盘方法相关的知识,希望能为你提供帮助。
背景5台bookies的硬盘被打满,导致pulsar不能正常提供服务。当bookies的硬盘被打到95%以上,会自动把bookies给设置为readonly的
文章图片
原因是因为有消费者积压,造成大量的数据未被消费确认。默认情况下,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
文章图片
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保留策略恢复
等未被确认的数据都被删除了,需要将策略恢复,查看硬盘使用情况
文章图片
恢复TTL配置
pulsar-admin namespaces remove-message-ttlpublic/default
要禁用消息保留策略配置,将值设置为
0
。bin/pulsar-admin namespaces set-retentionpublic/default --size 0 --time 0
【pulsar bookies清理磁盘方法】
推荐阅读
- 性能环境之docker操作指南2(全网最全)
- Java技术指南「难点-核心-遗漏」Java线程状态流转及生命周期的技术指南(知识点串烧)!
- 生产制造ERP系统的功能是什么()
- app 自动化测试 - 多设备并发 -appium+pytest+ 多线程
- [C语言小白]三子棋小程序
- 从源码角度分析 MyBatis 工作原理
- vCenter Server 7.0 Update 1在部署阶段2无法保存IP配置导致部署失败
- OpenHarmony HDF 驱动框架介绍和驱动加载过程分析
- 如何避免WordPress主题升级更改我的父主题functions.php()