Set remote.log.storage.system.enable=true in broker server.properties and configure remote.log.metadata.manager.listener.name to the listener clients should use for RLMM internal topic access
Set remote.log.metadata.manager.class.name=org.apache.kafka.server.log.remote.storage.RemoteLogMetadataManager (the default Kafka built-in implementation) and provide the plugin jar path via remote.log.metadata.manager.class.path if using a custom storage backend
At the topic level set remote.storage.enable=true and local.retention.ms (or local.retention.bytes) to a value smaller than the topic's retention.ms so older segments are eligible for offload
Restart brokers and create or alter the target topic: kafka-topics.sh --alter --topic my-topic --config remote.storage.enable=true --config local.retention.ms=3600000
Verify offload: check broker logs for RemoteLogManager activity and query the internal __remote_log_metadata topic to confirm segment metadata entries exist
Test fetch from remote tier: consume an offset older than local.retention.ms and confirm data is retrieved from remote storage without errors
Known gotchas
remote.log.storage.system.enable is a broker-level flag; all brokers in the cluster must have it set before tiered storage is activated on any topic
local.retention.ms must be strictly less than retention.ms; setting them equal means no segments are ever offloaded
The built-in RLMM stores metadata in an internal Kafka topic — ensure that topic has sufficient replication and is not itself tiered-storage enabled, which would cause a bootstrap deadlock
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp