If you want to keep clean of Zookeeper root path, it’s simplly change some default znode paramters in both broker.conf and bookkeeper.conf. But keep default znode is still recommend in case of introduce more complexities.
The example below, I choise
- znode ‘/pulsar-metadata-store’ to store metadata
- znode ‘/pulsar-configuration-metadata-store’ to store geo-configuration data
We can only change the znode before deploy.
Modify the initialize commend which append your znode in zookeeper hierarchical URL.
bin/pulsar initialize-cluster-metadata \
--cluster mini \
--zookeeper macmini:12181/pulsar-metadata-store \
--configuration-store macmini:12181/pulsar-configuration-metadata-store \
--web-service-url http://macmini:12181:18080 \
--web-service-url-tls https://macmini:12181:18443 \
--broker-service-url pulsar://macmini:12181:16650 \
--broker-service-url-tls pulsar+ssl://macmini:12181:16651
Modify zookeeperServers
and configurationStoreServers
in broker.conf.
But do not change paramenter bookkeeperMetadataServiceUri
, keep it after #
. You can find more info from futeng’s Q&A.
cat pulsar-1/conf/broker.conf \
| grep -v "#" \
| grep -E "zookeeperServers|configurationStoreServers|bookkeeperMetadataServiceUri"
zookeeperServers=macmini:12181,macmini:22181,macmini:32181/pulsar-metadata-store
configurationStoreServers=macmini:12181,macmini:22181,macmini:32181/pulsar-configuration-metadata-store
# keep bookkeeperMetadataServiceUri start with #
# do not using bookkeeperMetadataServiceUri
# bookkeeperMetadataServiceUri=zk+hierarchical://macmini:12181,macmini:22181,macmini:32181/pulsar-metadata-store/ledgers
Modify zkLedgersRootPath
, normally it’s sub node of ledgers
after your metadata znode.
Keep zkServers clean.
cat conf/bookkeeper.conf | grep -v "#" \
| grep -E "zkServers|zkLedgersRootPath"
zkLedgersRootPath=/pulsar-metadata-store/ledgers
zkServers=macmini:12181,macmini:22181,macmini:32181