1. BookKeeper 运维中 ledger/ensemble、写入确认(quorum)、bookie 扩缩容与自动恢复
BookKeeper 的 ledger/ensemble、写入确认(quorum)机制如何运作,bookie 扩缩容与自动恢复如何运维?
- ledger/ensemble 概念
- 写入确认(quorum)与多数派
- bookie 扩缩容
BookKeeper 以 ledger(日志)为存储单位,数据写入时按 ensemble(一组 bookie)分布,每个 segment 写入到 ensemble 的多个 bookie。写入确认(quorum)指写操作需一定数量的 bookie(quorum,如 write quorum=2)确认成功才返回,reads 同样需多数确认,保证数据可用性。bookie 扩缩容:新增 bookie 后通过 rebalance 或写入新 ledger 分布到新 bookie,减少则需迁移数据(关闭后 ledger 由剩余 bookie 重建)。自动恢复:当一个 bookie 中的某 ledger 片段缺失时,BookKeeper 的 auditor 会检测并触发修复,从其他副本恢复缺失的片段,将 ledger 重新复制到可用 bookie。运维上需监控 bookie 健康、ledger 修复与磁盘。
BookKeeper 是 Pulsar 的存储层,基于"多副本 + 多数派确认"保证数据安全。ensemble 决定数据分布,quorum 决定写入确认的副本数。扩缩容与自动恢复是容灾的关键,auditor 机制保障数据自愈。
# 查看 bookie 状态
bin/bookkeeper shell listbookies -r
bin/bookkeeper shell listledgers -meta
# 触发 ledger 修复
bin/bookkeeper shell recover -m