A tool for managing Heroku Kafka that works in Heroku Common Runtime or Private Spaces!
It supports the following :
Consumer List View
Consumed Topic View
The minimum configuration is the zookeeper hosts which are to be used for kafka manager state. This can be found in the application.conf file in conf directory. The same file will be packaged in the distribution zip file; you may modify settings after unzipping the file on the desired server.
You can specify multiple zookeeper hosts by comma delimiting them, like so:
Alternatively, use the Heroku Config Variable
ZK_HOSTS if you don't want to hardcode any values.
You can optionally enable/disable the following functionality by modifying the default list in application.conf :
Consider setting these parameters for larger clusters with jmx enabled :
Here is an example for a kafka cluster with 10 brokers, 100 topics, with each topic having 10 partitions giving 1000 total partitions with JMX enabled :
The follow control consumer offset cache's thread pool and queue :
You should increase the above for large # of consumers with consumer polling enabled. Though it mainly affects ZK based consumer polling.
Heroku Kafka managed consumer offset is now consumed by KafkaManagedOffsetCache from the "__consumer_offsets" topic. Note, this has not been tested with large number of offsets being tracked. There is a single thread per cluster consuming this topic so it may not be able to keep up on large # of offsets being pushed to the topic.
Click the Heroku Button and let it go...
This app is made possible by Yahoo's Kafka Manager on Github.
Heroku & Apache Licensed. See accompanying LICENSE file.