You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

This page is meant as a template for writing a KIP. To create a KIP choose Tools->Copy on this page and modify with your content and replace the heading with the next KIP number and a description of your issue. Replace anything in italics with your own description.

Status

Current state: Under Discussion

Discussion thread:

JIRA: Unable to render Jira issues macro, execution error.

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

This is a proposal for an admin tool - say, kafka-brokers.sh to provide broker related useful information. Some of the key factors for Kafka's success are its performant architecture and operational simplicity. This is further complemented with a set of commandline tools and utilities for managing topics as well as testing/stress-testing. However currently Kafka lacks commands/tools to get cluster and broker overview. Although it should be mentioned that Kafka does expose cluster information via API and broker metrics via JMX.

Public Interfaces

The kafka-broker.sh command can be modeled after the kafka-topic.sh and can have the following options:

--zookeeper <zookeeper,port> : zookeeper URL

--rack <list of comma-seperated racks>: filter details on brokers in the list of racks only

-- topic <list of comma-seperated topcis>: : filter details on brokers that serve partitions for the provided topic

 

Proposed Changes

The command will essentially provide the following pieces of information:

Cluster Overview Information

 

  • Controller Broker Id (and version/epoch information)
  • Broker Count
  • Total Topic Count
  • Total Partition Count


Broker Information

 

  • Broker Id
  • Rack Id
  • Hostname
  • Endpoints (protocol, port)
  • JMX port
  • Topic count
  • All partition count
  • Leader partition count
  • Under-replicated partition count
  • Topic partitions (Name, *partition-)

An asterisk would indicate that the broker is the leader for that partition.
A hyphen/negative sign would indicates that the partition is not in-sync.


As you can see, the above information provides a view of the cluster and brokers that complements kafka-topics.sh.

Compatibility, Deprecation, and Migration Plan

None yet.

Rejected Alternatives

If there are alternative ways of accomplishing the same thing, what were they? The purpose of this section is to motivate why the design is the way it is and not some other way.

  • No labels