Updated on 2025-02-14 GMT+08:00

Modifying Cluster Kafka Instance Specifications

After creating a Kafka instance, you can increase or decrease its specifications. Table 1 lists available modification options. Only one object can be modified per operation: broker quantity, storage space, or broker flavor.

Table 1 Specification modification options

Modified Object

Increase

Decrease

Broker quantity

×

Storage space

×

Broker flavor

Notes and Constraints

Unavailable for single-node instances.

Impact of Specification Modification

Table 2 Impact of specification modification

Modified Object

Impact

Broker quantity

  • Adding brokers does not affect the original brokers or services.
  • When brokers are added, the storage space is proportionally expanded based on the current disk space. For example, assume that the original number of brokers of an instance is 3 and the disk size of each broker is 200 GB. If the broker quantity changes to 10 and the disk size of each broker is still 200 GB, the total disk size becomes 2,000 GB.
  • New topics are created on new brokers, and the original topics are still on the original brokers, resulting in unbalanced partitions. You can reassign partitions to migrate the replicas of the original topic partitions to the new brokers.

Storage space

  • You can expand the storage space 20 times.
  • Storage space expansion does not affect services.

Broker flavor

  • Single-replica topics do not support message production and consumption during this period. Services will be interrupted.
  • If a topic has multiple replicas, modifying the broker flavor does not interrupt services, but may cause disorder of partition messages. Evaluate this impact and avoid peak hours.
  • Broker rolling restarts will cause partition leader changes, interrupting connections for less than a minute when the network is stable. For multi-replica topics, configure the retry mechanism on the producer client. To do so:
    • If you use an open-source Kafka client, configure the retries parameter to a value in the range from 3 to 5.
    • If you use Flink, configure the retry policy by referring to the following code:
      StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
      env.setRestartStrategy(RestartStrategies.fixedDelayRestart(3, Time.seconds(20)));
  • If the total number of partitions created for an instance is greater than the upper limit allowed by a new flavor, scale-down cannot be performed. The maximum number of partitions varies with instance specifications. For details, see Specifications.

    For example, if 800 partitions have been created for a kafka.4u8g.cluster*3 instance, you can no longer scale down the instance to kafka.2u4g.cluster*3 because this flavor allows only 750 partitions.

  • It takes 5 to 10 minutes to modify specifications on one broker. The more brokers, the longer time the modification takes.

Process of Increasing or Decreasing Broker Flavors

When you scale up or down the broker flavor, a rolling restart is performed on brokers. The following process takes three brokers as an example:

  1. Stop the Kafka process on Broker 0.
  2. Scale up or down the flavor of Broker 0.
  3. Restart the Kafka process on Broker 0.
  4. Repeat 1 to 3 to scale up or down the flavor of Broker 1.
  5. Repeat 1 to 3 to scale up or down the flavor of Broker 2.
Figure 1 Process of modifying a broker flavor

Procedure

  1. Log in to the console.
  2. Click in the upper left corner to select the region where your instance is located.
  3. Click and choose Application > Distributed Message Service (for Kafka) to open the console of DMS for Kafka.
  4. In the row containing the desired instance, choose More > Modify Specifications in the Operation column.
  5. Specify the storage space, number of brokers, or broker flavor as required.

    • Expand the storage space.
      1. For Change By, select Storage. For Storage space per broker, specify a new storage space, and click Next. The storage space range varies by instance specifications. For details, see Specifications.
      2. Confirm the configurations and click Submit.
      3. Check the modification progress and estimated remaining time.
        1. In the instance list, click the instance to go to the instance details page.
        2. In the navigation pane, choose Background Tasks.
        3. Click the task whose name is Modify Specifications. The Specification Modification Task Details dialog box is displayed.
        4. Check the progress and estimated remaining time. In Steps, check the steps, start time, and end time.
      4. Check whether the modification is successful.
        • If the task is in the Successful state, the modification is successful. View the new storage space (Storage space per broker × Number of brokers) in the Used/Available Storage Space (GB) column in the instance list.
        • If the task is in the Failed state, the modification is not successful. Move the cursor over Failed or check the cause in Steps.

          After the modification fails, the instance is in the Change failed state, and cannot be restarted, modified, or deleted. After the instance status automatically changes from Change failed to Running, you can continue to perform operations. If the status does not change to Running, contact customer service.

    • Add brokers.
      1. For Change By, select Brokers.
      2. For Brokers, specify the broker quantity. The broker quantity varies by instance flavor. For details, see Cluster Kafka Instances.
      3. If public access has been enabled, configure EIPs for the new brokers.
      4. For Subnet, retain the default settings.
      5. For Private IP Addresses, select Auto or Manual.
        • Auto: The system assigns an IP address from the subnet automatically.
        • Manual: Select the IP addresses for the new brokers from the drop-down list. If the number of selected IP addresses is less than the number of brokers, the remaining IP addresses will be automatically assigned.
      6. Click Next.
      7. Confirm the configurations and click Submit.
      8. Check the modification progress and estimated remaining time.
        1. In the instance list, click the instance to go to the instance details page.
        2. In the navigation pane, choose Background Tasks.
        3. Click the task whose name is Modify Specifications. The Specification Modification Task Details dialog box is displayed.
        4. Check the progress and estimated remaining time. In Steps, check the steps, start time, and end time.
      9. Check whether the modification is successful.
        • If the task is in the Successful state, the modification is successful. View the number of brokers in the Flavor column in the instance list.
        • If the task is in the Failed state, the modification is not successful. Move the cursor over Failed or check the cause in Steps.

          After the modification fails, the instance is in the Change failed state, and cannot be restarted, modified, or deleted. After the instance status automatically changes from Change failed to Running, you can continue to perform operations. If the status does not change to Running, contact customer service.

      10. After adding brokers, add the IP addresses of the new brokers to the client connection configuration to improve reliability.
    • Increase or decrease the broker flavor.
      1. For Change By, select Broker Flavor.
      2. Specify a new broker flavor.
      3. In the Risk Check area, check for risks.

        If any risk is found, handle it as prompted and click Recheck. If the risks do not need to be handled, select I understand the risks.

      4. Click Next, confirm the information, and click Submit.
      5. Check the scaling progress and estimated remaining time.
        1. In the instance list, click the instance to go to the instance details page.
        2. In the navigation pane, choose Background Tasks.
        3. Click the task whose name is Modify Specifications. The Specification Modification Task Details dialog box is displayed.
        4. Check the progress and estimated remaining time. In Steps, check the steps, start time, and end time.
      6. Check whether the modification is successful.
        • If the task is in the Successful state, the modification is successful. View the broker flavor in the Flavor column in the instance list.
        • If the task is in the Failed state, the modification is not successful. Move the cursor over Failed or check the cause in Steps.

          After the modification fails, the instance is in the Change failed state, and cannot be restarted, modified, or deleted. After the instance status automatically changes from Change failed to Running, you can continue to perform operations. If the status does not change to Running, contact customer service.