Chapter 4. Features
Streams for Apache Kafka 2.9 introduces the features described in this section.
Streams for Apache Kafka 2.9 on RHEL is based on Apache Kafka 3.9.x.
To view all the enhancements and bugs that are resolved in this release, see the Streams for Apache Kafka Jira project.
4.1. Streams for Apache Kafka 2.9.x (Long Term Support) Copy linkLink copied to clipboard!
Streams for Apache Kafka 2.9.x is the Long Term Support (LTS) offering for Streams for Apache Kafka.
The latest patch release is Streams for Apache Kafka 2.9.3. The Streams for Apache Kafka binaries have changed to version 2.9.3.
For information on the LTS terms and dates, see the Streams for Apache Kafka LTS Support Policy.
4.2. Kafka 3.9.x support Copy linkLink copied to clipboard!
Streams for Apache Kafka supports and uses Apache Kafka 3.9.x. Updates for Apache Kafka 3.9.1 were introduced in the 2.9.1 patch release, and the 2.9.3 patch release continues to use this version. Only Kafka distributions built by Red Hat are supported.
For upgrade, see the instructions for Streams for Apache Kafka and Kafka upgrades in the following guides:
Refer to the Kafka 3.9.0 and Kafka 3.9.1 Release Notes for additional information.
Kafka 3.8.x is supported only for the purpose of upgrading to Streams for Apache Kafka 2.9. We recommend that you perform a rolling update to use the new binaries.
4.3. Streams for Apache Kafka Copy linkLink copied to clipboard!
4.3.1. KRaft support moves to GA Copy linkLink copied to clipboard!
KRaft (Kafka Raft metadata) mode moves to GA (General Availability). KRaft mode replaces Kafka’s dependency on ZooKeeper for cluster management, simplifying deployment and management of Kafka clusters by bringing metadata management and coordination of clusters into Kafka.
Last release to support ZooKeeper
Kafka 3.9.x provides access to KRaft mode, where Kafka runs without ZooKeeper by utilizing the Raft protocol. Kafka 3.9 is the final version to support ZooKeeper. Consequently, Streams for Apache Kafka 2.9 is the last version compatible with Kafka clusters using ZooKeeper.
If you are using ZooKeeper for metadata management in your Kafka cluster, you can migrate to using Kafka in KRaft mode using a static controller quorum. Once KRaft mode is enabled, you cannot switch back to ZooKeeper.
To prepare for Streams for Apache Kafka 3.0, migrate to Kafka in KRaft mode.
KRaft mode limitations
For Kafka 3.8 and earlier, the controller quorums (which replace Zookeeper) were of fixed size (static). Dynamic controller quorums were introduced in Kafka 3.9.
Migration between Kafka’s static and dynamic controller quorums is not currently supported, though this feature is expected in a future Kafka release.
Streams for Apache Kafka 2.9 on RHEL supports static and dynamic controller quorums, with dynamic quorums recommended for new deployments.
4.3.2. Capability to move data between JBOD disks using Cruise Control Copy linkLink copied to clipboard!
If you are using JBOD storage and have Cruise Control installed with Streams for Apache Kafka, you can now reassign partitions between the JBOD disks used for storage on the same broker. This capability also allows you to remove JBOD disks without data loss.
Make requests to the remove_disks endpoint of the Cruise Control REST API to demote a disk in the cluster and reassign its partitions to other disk volumes.
For more information, see Using Cruise Control to reassign partitions on JBOD disks.