Chris Hamons
06/01/2026, 8:09 PMChris Hamons
06/01/2026, 8:09 PM2026-06-01T19:52:13,147+0000 [main] INFO org.apache.bookkeeper.server.Main - Using configuration file /pulsar/conf/bookkeeper.conf
2026-06-01T19:52:13,162+0000 [main] INFO org.apache.bookkeeper.server.Main - Hello, I'm your bookie, bookieId is <not-set>, listening on port 3181. Metadata service uri is <zk+hierarchical://pulsar-zookeeper:2181/ledgers>. Journals are in [/pulsar/data/bookkeeper/journal]. Ledgers are stored in [/pulsar/data/bookkeeper/ledgers]. Indexes are stored in [/pulsar/data/bookkeeper/ledgers].
2026-06-01T19:52:13,170+0000 [main] ERROR org.apache.bookkeeper.server.Main - Failed to build bookie server
org.apache.commons.configuration2.ex.ConfigurationException: org.apache.commons.configuration2.ex.ConfigurationException: java.lang.ClassNotFoundException: org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
at org.apache.bookkeeper.common.util.ReflectionUtils.getClass(ReflectionUtils.java:123)
at org.apache.bookkeeper.conf.ServerConfiguration.getStatsProviderClass(ServerConfiguration.java:3184)
at org.apache.bookkeeper.server.service.StatsProviderService.<init>(StatsProviderService.java:41)
at org.apache.bookkeeper.server.EmbeddedServer$Builder.build(EmbeddedServer.java:296)
at org.apache.bookkeeper.server.Main.buildBookieServer(Main.java:277)
at org.apache.bookkeeper.server.Main.doMain(Main.java:216)
at org.apache.bookkeeper.server.Main.main(Main.java:199)
Caused by: org.apache.commons.configuration2.ex.ConfigurationException: java.lang.ClassNotFoundException: org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
at org.apache.bookkeeper.common.util.ReflectionUtils.getClass(ReflectionUtils.java:84)
at org.apache.bookkeeper.common.util.ReflectionUtils.getClass(ReflectionUtils.java:114)
... 6 more
Caused by: java.lang.ClassNotFoundException: org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at java.base/java.lang.Class.forName(Unknown Source)
at org.apache.bookkeeper.common.util.ReflectionUtils.getClass(ReflectionUtils.java:82)
... 7 moreChris Hamons
06/01/2026, 8:09 PMChris Hamons
06/01/2026, 8:10 PMChris Hamons
06/01/2026, 8:12 PMChris Hamons
06/01/2026, 8:12 PMcommand mvn install -pl docker/pulsar \
-DskipTests \
-Pmain,docker \
-Ddocker.platforms=linux/amd64,linux/arm64 \
-Ddocker.noCache=true \
-Ddocker.skip.tag=falseChris Hamons
06/01/2026, 8:13 PMChris Hamons
06/01/2026, 8:33 PMChris Hamons
06/01/2026, 8:34 PMPULSAR_IMAGE= in the instructionsLari Hotari
06/01/2026, 8:53 PMChris Hamons
06/01/2026, 9:05 PMstatsProviderClass: "org.apache.pulsar.metrics.prometheus.bookkeeper.PrometheusMetricsProvider"
Seems to have worked, thanks!Chris Hamons
06/01/2026, 9:06 PM