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.