finds.dev← search

// the find

yahoo/CMAK

★ 11,925 · Scala · Apache-2.0 · updated Aug 2023

CMAK is a tool for managing Apache Kafka clusters

CMAK is a web UI for managing Apache Kafka clusters — adding topics, running partition reassignments, viewing consumer lag, and inspecting broker state. It was the de facto Kafka admin UI for years when Kafka's own tooling was all command-line. Last meaningfully updated in 2023 and only supports Kafka through 0.11/2.x era APIs.

Akka actor model is used throughout for concurrent broker polling, which is the right approach for fan-out state collection across many brokers. JMX polling for broker and topic metrics is genuinely useful and not something most alternatives bother with. Multi-cluster support in a single deployment is well-implemented — you can manage prod and staging from one instance. The partition reassignment UI saves a lot of pain compared to the JSON-file-based CLI workflow.

Kafka has shipped its own web UI (Kafka UI) and the KRaft mode removes ZooKeeper entirely — CMAK still depends on ZooKeeper for its own state storage, which means it's dead weight for any cluster running Kafka 3.x+ without ZK. The last commit was August 2023 and the project shows no signs of KRaft support being planned. Consumer group monitoring only covers legacy ZK-based consumers properly; the Kafka-native offset tracking via __consumer_offsets has a known single-threaded bottleneck in KafkaManagedOffsetCache that will fall behind on busy clusters. No RBAC — it's all-or-nothing access, which rules it out for any multi-team environment.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →