CCAAK study materials
CCAAK study resources

CCAAK flashcards

CCAAK · Build recall with a focused review session.

32 cards. Read the term and the definition here. The deck at the top of this page is optional.

min.insync.replicas
The minimum number of in-sync replicas that must acknowledge a write when the producer uses acks=all. If the ISR falls below this value, produce requests fail with NotEnoughReplicas.
unclean.leader.election.enable
When true, Kafka may elect a leader from an out-of-sync replica, restoring availability at the cost of losing messages that replica never received. Default false preserves consistency.
advertised.listeners
The listener addresses published to clients and peer brokers. They must be routable from outside the broker host, unlike bind addresses used only for local socket binding.
num.partitions
The default partition count applied only when a topic is auto-created. It has no effect on existing topics, and partition counts can be increased but never decreased.
log.dirs
A comma-separated list of directories, ideally on separate disks, where Kafka stores partition segments. Kafka spreads partitions across them but does not replicate within a broker.
auto.create.topics.enable
When true, producing to or consuming from an unknown topic creates it with default settings. Setting it false forces explicit topic creation and avoids accidental misconfiguration.
log.segment.bytes
The maximum size of a single log segment file. A segment must be closed before retention can delete it, so this value bounds how quickly old data is reclaimed.
compression.type
The codec used for message batches. Setting it to producer on the broker keeps producer-chosen codecs; a fixed value such as lz4 or zstd recompresses batches on the broker.
default.replication.factor
The replication factor assigned to auto-created topics. Internal topics such as __consumer_offsets use separate settings like offsets.topic.replication.factor instead.
KRaft controller quorum
The set of controller nodes that manage cluster metadata in KRaft mode, configured through controller.quorum.voters. It replaces the ZooKeeper ensemble used in older deployments.
process.roles
A KRaft setting that declares whether a node acts as broker, controller, or both. It replaces broker.id semantics and must align with node.id assignments.
kafka-storage.sh format
The command that initializes a KRaft log directory with a cluster UUID generated by kafka-storage.sh random-uuid. It must run before a broker or controller starts.
broker.rack
Declares a broker's rack or failure domain so replicas of a partition are placed on distinct racks, improving durability when an entire rack fails.
inter.broker.protocol.version
During rolling upgrades this is pinned to the current protocol version until every broker runs the new binary, then incremented and rolled again to enable new features.
ZooKeeper ensemble sizing
ZooKeeper quorums require an odd number of members, typically three or five, so a majority can be maintained when one node fails.
Broker JVM heap sizing
Brokers commonly run with roughly 6-8 GB of heap using G1GC, leaving remaining RAM for the OS page cache, which serves most read traffic.
node.id
The unique numeric identifier for a KRaft node, replacing broker.id. It must match the entry listed in the controller quorum configuration.
UnderReplicatedPartitions
A per-broker metric counting partitions whose in-sync replica count is below the assigned replication factor. It should be zero in a healthy cluster.
OfflinePartitionsCount
Counts partitions with no available leader. Any value above zero is critical because those partitions cannot serve produce or consume requests.
ActiveControllerCount
Reports whether a broker is the active controller. Exactly one broker cluster-wide should report one; zero or multiple indicates an election problem.
Consumer lag
The difference between a partition's log-end offset and a consumer group's committed offset. Steady growth indicates consumers cannot keep up with producers.
RequestHandlerAvgIdlePercent
Measures spare capacity in the request handler thread pool. Values below roughly 30% suggest broker saturation and correlate with rising request queue times.
IsrShrinksPerSec
Tracks how often replicas drop out of the in-sync set. Sustained non-zero values indicate broker, disk, or network instability rather than normal churn.
Produce request latency p99
The 99th percentile time to complete produce requests. Rising values reveal slow acknowledgement paths, disk pressure, or insufficient ISR members.
Log dir free space
Available disk per log directory. Low free space causes brokers to fail writes or shut down partitions, so it is monitored as a leading failure indicator.
BytesInPerSec
Broker throughput metric for incoming data. Comparing it with BytesOutPerSec and disk capacity helps detect replication amplification and capacity trends.
kafka-consumer-groups.sh --describe
Lists per-partition current offset, log-end offset, lag, and consumer ID for a group, making it the primary tool for diagnosing consumer lag.
kafka-reassign-partitions.sh
Executes partition reassignment with --execute and confirms completion with --verify. The --throttle option limits replication bandwidth during the move.
Preferred leader election
Restores partition leadership to the preferred replica after broker restarts, rebalancing load. It can run automatically or via kafka-leader-election.sh.
max.poll.interval.ms
The maximum time between poll calls before the consumer is considered failed. Exceeding it triggers a rebalance and revocation of that consumer's partitions.
NotEnoughReplicas exception
Returned to producers when the in-sync replica count is below min.insync.replicas with acks=all. It indicates reduced durability capacity, not necessarily data loss.
delete.topic.enable
When true, topic deletion proceeds asynchronously after kafka-topics.sh --delete. When false, delete requests are ignored and topics remain.