Updated on 2024-05-30 GMT+08:00

Changing Kafka Partition Quantity

After creating a topic, you can increase the number of partitions based on service requirements.

Changing the number of partitions does not restart the instance or affect services.

Methods for changing the partition quantity:

Method 1: By using Kafka console

  1. Log in to the console.
  2. Click in the upper left corner to select a region.

    Select the region where your Kafka instance is located.

  3. Click and choose Application > Distributed Message Service for Kafka to open the console of DMS for Kafka.
  4. Click the desired Kafka instance to view the instance details.
  5. In the navigation pane, choose Topics.
  6. Modify the number of partitions using either of the following methods:

    • Select one or more topics and click Edit Topic in the upper left corner.
    • In the row containing the desired topic, click Edit.

  7. In the Edit Topic dialog box, enter the number of partitions and click OK.

    • The number of partitions can only be increased.
    • To ensure performance, the Kafka console allows a maximum of 200 partitions for each topic.
    • The total number of partitions of all topics cannot exceed the maximum number of partitions allowed by the instance.

Method 2: By using Kafka Manager

  1. Log in to Kafka Manager.
  2. Choose Topic > List to view the list of topics.
  3. Click a topic to view its details.
  4. Click Add Partitions.

    Figure 1 Topic details page

  5. Enter the number of partitions and click Add Partitions.

    Figure 2 Adding partitions

    If "Done" is displayed, the partitions are added successfully.

    Figure 3 Partitions added
    • The number of partitions can only be increased.
    • The total number of partitions of all topics cannot exceed the maximum number of partitions allowed by the instance.

Method 3: By Using Kafka CLI

If your Kafka client version is later than 2.2, you can use kafka-topics.sh to change the partition quantity.

For an instance with SASL enabled, if allow.everyone.if.no.acl.found is set to false, topic partition quantity cannot be modified through the client.

  • If SASL is not enabled for the Kafka instance, run the following command in the /{directory where the CLI is located}/kafka_{version}/bin/ directory to change the partition quantity:
    ./kafka-topics.sh --bootstrap-server {broker_ip}:{port} --topic {topic_name} --alter --partitions {partition_num}
  • If SASL has been enabled for the Kafka instance, perform the following steps to change the partition quantity:
    1. (Optional) If the username and password, and the SSL certificate configuration has been set, skip this step. Otherwise, perform the following operations:

      Create the ssl-user-config.properties file in the /config directory of the Kafka client. Add the username and password, and the SSL certificate configuration by referring to 3.

    2. Run the following command in the /{directory where the CLI is located}/kafka_{version}/bin/ directory to change the partition quantity:
      ./kafka-topics.sh --bootstrap-server {broker_ip}:{port} --topic {topic_name} --alter --partitions {partition_num} --command-config ./config/ssl-user-config.properties