Exploring IBM EventStreams without Zookeeper

Zhimin Wen
5 min readJul 3, 2023

Since the v3.3 release of Apache kafka, Zookeeper can be replaced by the Kraft consensus protcol. This feature is now available as a Tech Preview in IBM Event Streams. Let’s explore it.

Enable the Kraft Feature

EventStreams is based on the Strimizi operator. After the subscribtion of the operator, lets update the CSV

oc edit csv ibm-eventstreams.v3.2.1

Locate to the place of the json path of,

.spec.install.spec.deployments[0].spec.template.spec.containers[0].env

Update the enviroment variable, STRIMZI_FEATURE_GATES to the value of “+UseKRaft”

Deploy the Kafka

We can then create the CR for the EventStreams, focus on the Kafka overrides settings as below,

strimziOverrides:
kafkaExporter: {}
kafka:
replicas: 3
authorization:
type: custom
supportsAdminApi: true
authorizerClass: com.ibm.eventstreams.runas.authorizer.RunAsKRaftAuthorizer
# must use KRaft authorizer
config:
inter.broker.protocol.version: '3.4'
log.cleaner.threads: 6
num.io.threads: 24
num.network.threads: 9
num.replica.fetchers: 3
offsets.topic.replication.factor: 3
default.replication.factor: 3…

--

--