Bookkeeper 一直报错,如何解决

2022-08-25T19:17:13,849+0800 [ReplicationWorker] WARN  org.apache.bookkeeper.replication.ReplicationWorker - BKNotEnoughBookiesException while replicating the fragment
org.apache.bookkeeper.client.BKException$BKNotEnoughBookiesException: Not enough non-faulty bookies available
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.selectRandomInternal(RackawareEnsemblePlacementPolicyImpl.java:780) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.selectRandom(RackawareEnsemblePlacementPolicyImpl.java:698) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.selectFromNetworkLocation(RackawareEnsemblePlacementPolicyImpl.java:587) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy.selectFromNetworkLocation(RackawareEnsemblePlacementPolicy.java:206) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.selectFromNetworkLocation(RackawareEnsemblePlacementPolicyImpl.java:547) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy.selectFromNetworkLocation(RackawareEnsemblePlacementPolicy.java:227) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.replaceBookie(RackawareEnsemblePlacementPolicyImpl.java:475) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy.replaceBookie(RackawareEnsemblePlacementPolicy.java:120) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.client.BookKeeperAdmin.getReplacementBookiesByIndexes(BookKeeperAdmin.java:1080) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.client.BookKeeperAdmin.replicateLedgerFragment(BookKeeperAdmin.java:1129) ~[org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.replication.ReplicationWorker.rereplicate(ReplicationWorker.java:375) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.replication.ReplicationWorker.rereplicate(ReplicationWorker.java:268) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at org.apache.bookkeeper.replication.ReplicationWorker.run(ReplicationWorker.java:229) [org.apache.bookkeeper-bookkeeper-server-4.14.4.jar:4.14.4]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [io.netty-netty-common-4.1.74.Final.jar:4.1.74.Final]
        at java.lang.Thread.run(Thread.java:834) [?:?]
2022-08-25T19:17:13,852+0800 [ReplicationWorker] ERROR org.apache.bookkeeper.replication.ReplicationWorker - ReplicationWorker failed to replicate Ledger : 63430 for 3 number of times, so deferring the ledger lock release by 75000 msecs

缺少部署信息,不知道你这是新起的集群还是执行了什么操作。只有一小段日志无法定位问题的。

Bookie有问题吧,先看看bookkeeper服务是否正常

先查看sh bookkeeper shell listbookies -rw 目前有多少可用的节点,有可能是bookkeeper异常,或者磁盘空间满了,无法写入。