Manage configurations with Apache Kafka® CLI tools ================================================== Aiven for Apache Kafka® services are fully manageable and customizable via either :doc:`advanced configuration flags in the Aiven Console ` or the :doc:`Aiven CLI `. To guarantee the service stability, direct Apache ZooKeeper™ access isn't available, but our tooling provides you all the options that you need - whether your Apache Kafka version has Apache ZooKeeper™ in it or not. Some of the configuration changes don't need ZooKeeper access, and therefore you can use the standard client tools shipped with the Apache Kafka® binaries. The example below shows how to create a topic using one of such tools, the ``kafka-topics.sh``. Example: Create a topic with retention time to 30 minutes with ``kafka-topics.sh`` ---------------------------------------------------------------------------------- Each topic in Apache Kafka can have a different retention time, defining for the messages' time to live. The Aiven web console and API offer the ability to set the retention time as part of the topic :ref:`creation ` or :ref:`update `. The same can be achieved using the ``kafka-topics.sh`` script included in the `Apache Kafka binaries `_ with the following steps: 1. Download the `Apache Kafka binaries `_ and unpack the archive 2. Navigate to the ``bin`` folder containing the Apache Kafka client tools commonly used 3. Create a :doc:`Java keystore and truststore ` for the Aiven for Apache Kafka service where you want to create a new topic 4. Create a :doc:`client configuration file ` pointing at the keystore and truststore created at the previous steps 5. Run the following command to check the connectivity to the Aiven for Apache Kafka service, replacing the ```` with the URI of the service available in the `Aiven Console `_. .. code:: ./kafka-topics.sh \ --bootstrap-server \ --command-config consumer.properties \ --list If successful, the above command lists all the available topics 6. Run the following command to create a new topic named ``new-test-topic`` with a retention rate of 30 minutes. Use the kafka-topics script for this and set the retention value in milliseconds ``((100 * 60) * 30 = 180000)``. .. code:: ./kafka-topics.sh \ --bootstrap-server \ --command-config consumer.properties \ --topic new-test-topic \ --create \ --config retention.ms=180000 7. Run the same command as step 5 to check the topic creation. Optionally you could also run the ``kafka-topics.sh`` command with the ``--describe`` flag to check the details of your topic and the retention rate. .. Note:: It is currently not possible to change the configurations for an existing topic via ``kafka-topics.sh`` as that requires a connection to ZooKeeper.