Pulsar BookKeeper指定路径log文件用途及删除是否丢失消息
想咨询关于Pulsar BookKeeper的相关问题:路径
/bookkeeper/ledgers/current/*.log下的log文件,是仅作为普通运行日志使用,还是用于存储业务消息?如果删除该类log文件,是否会导致存储的消息丢失?
问题解答
- 该路径下的
*.log文件不是普通运行日志,是BookKeeper的核心数据文件,官方称为条目日志(Entry Log),专门用来持久化存储所有业务相关数据,包括但不限于Pulsar Topic里的业务消息、消费位点游标、分区元数据等内容。 - 手动删除这类文件一定会导致存储的消息丢失,严重情况下还会触发BookKeeper数据副本不一致,甚至导致整个Pulsar集群的读写服务不可用。
补充说明
普通的BookKeeper运行日志默认存放在${BOOKKEEPER_HOME}/logs/目录下,这类日志仅记录服务运行状态,删除不会影响已存储的业务数据。但/bookkeeper/ledgers/是BookKeeper默认配置的数据存储根目录,该目录下的所有文件都属于业务数据文件范畴,禁止随意手动删除。如果遇到entry log文件占用磁盘空间过大的问题,建议通过调整BookKeeper的数据保留时长、垃圾回收阈值等配置,让集群自动清理已经过期的无效数据文件。
内容的提问来源于stack exchange,提问作者hezonglin
相关产品推荐
相关产品推荐

