Attention: This version of Event Streams has reached End of Support. For more information about supported versions, see the support matrix.

Modifying Kafka broker configurations

You can use the Event Streams CLI to dynamically modify brokers and cluster-wide configuration settings for your Event Streams instance.

You can also use the Event Streams CLI together with a ConfigMap to modify static (read-only) configuration settings.

Configuration options

For a list of all configuration settings you can specify for Kafka brokers, see the Kafka documentation.

Some of the broker configuration settings can be updated without restarting the broker, while others require a restart:

  • read-only: Requires a broker restart for the update to take effect.
  • per-broker: Can be updated dynamically for each broker without a broker restart.
  • cluster-wide: Can be updated dynamically as a cluster-wide default, or as a per-broker value for testing purposes.

See the Dynamic Update Mode column in the Kafka documentation for the update mode of each broker configuration.

Note: You cannot modify the following properties.

  • broker.id
  • listeners
  • zookeeper.connect
  • advertised.listeners
  • inter.broker.listener.name
  • listener.security.protocol.map
  • authorizer.class.name
  • principal.builder.class
  • sasl.enabled.mechanisms
  • log.dirs
  • inter.broker.protocol.version
  • log.message.format.version

Modifying broker and cluster settings

You can modify per-broker and cluster-wide configuration settings dynamically (without a broker restart) by using the Event Streams CLI:

  1. Log in to your cluster as an administrator by using the IBM Cloud Private CLI:
    cloudctl login -a https://<cluster-address>:<cluster-router-https-port>
  2. Run the following command to start the Event Streams CLI:
    cloudctl es init
  3. To modify a per-broker configuration setting:
    cloudctl es broker-config --broker <broker_id> --config <name>=<value>
  4. To modify a cluster-wide configuration setting:
    cloudctl es cluster-config --config <name>=<value>

You can also update your read-only configuration settings that require a broker restart by using the Event Streams CLI.

Note: Read-only settings require a ConfigMap to be set. If you did not create and specify a ConfigMap during the installation process, you can create a ConfigMap later with the required Kafka configuration settings or create a blank one to use later.

Use the following command to make the ConfigMap available to your Event Streams instance if you did not create a ConfigMap during installation:

helm upgrade --reuse-values --set kafka.configMapName=<configmap_name> <release_name> <charts.tgz>

Note: Where <charts.tgz> is the name of the chart file you used to install Event Streams, including the full path to it if in a different directory. To run helm upgrade commands, ensure you have the original chart file available.

You can use the Event Streams CLI to modify read-only configuration settings as follows:

cloudctl es cluster-config --config <name>=<value> --static-config-all-brokers