Help Center/ Distributed Message Service for Kafka/ User Guide/ Modifying Kafka Instance Specifications
Updated on 2024-10-10 GMT+08:00

Modifying 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, bandwidth, storage space, or broker flavor.

Table 1 Specification modification options

Old/New Flavor

Modified Object

Increase

Decrease

New flavor

Broker quantity

×

Storage space

×

Broker flavor

Old flavor

Bandwidth

×

Storage space

×

Broker flavor

×

×

This function is unavailable for single-node instances.

Distinguishing Between Old and New Specifications

  • Old specifications: In the instance list, the instance specification is displayed as bandwidth (for example, 100 MB/s).
  • New specifications: In the instance list, the instance specification is displayed as the ECS flavor multiplied by the number of brokers (for example, kafka.2u4g.cluster*3 brokers).
Figure 1 Instance list

Impact of Specification Modification

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

Table 2 Impact of specification modification

Modified Object

Impact

Bandwidth or broker quantity

  • Increasing the bandwidth or adding brokers does not affect the original brokers or services.
  • When you increase the bandwidth or change the broker quantity, 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 2000 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 creation and retrieval 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.

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 2 Process of modifying a broker flavor

Procedure

  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 Middleware > 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 required storage space, broker flavor, or bandwidth.

    • Increase the bandwidth (for earlier instances).
      1. Specify a new bandwidth and click Next.
      2. Confirm the configurations and click Submit.
      3. Return to the instance list and check whether the change succeeded.
        • If the instance status has changed from Changing to Running, the change succeeded. You can check the new bandwidth in the Flavor column.
          Figure 3 Viewing the increased bandwidth
        • If the instance status has changed from Changing to Change failed, the change failed. Move the cursor over Change failed to check the failure cause.

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

      After increasing the bandwidth, add the IP address of the new broker to the client connection configuration to improve reliability.

    • Expand the storage space (for earlier instances).
      1. Specify a new storage space and click Next.
      2. Confirm the configurations and click Submit.
      3. Return to the instance list and check whether the change succeeded.
        • If the instance status has changed from Changing to Running, the change succeeded. View the new storage space in the Used/Available Storage Space (GB) column in the instance list.
          Figure 4 Viewing the increased storage space
        • If the instance status has changed from Changing to Change failed, the change failed. Move the cursor over Change failed to check the failure cause.

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

    • Expand the storage space (for later instances).
      1. Select Storage for Change By. For Storage space per broker, enter a value. Storage spaces vary by instance specifications. For details, see Specifications. Click Next.
      2. Confirm the configurations and click Submit.
      3. Return to the instance list and check whether the change succeeded.
        • If the instance status has changed from Changing to Running, the change succeeded. View the new storage space (Storage space per broker x Number of brokers) in the Used/Available Storage Space (GB) column in the instance list.
        • If the instance status has changed from Changing to Change failed, the change failed. Move the cursor over Change failed to check the failure cause.

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

      Figure 5 Expanding the storage space
    • Increase the broker quantity (for later instances).
      1. For Change By, select Brokers.
      2. For Brokers, specify the broker quantity. The broker quantity range varies by instance specifications. For details, see Specifications.
      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. Return to the instance list and check whether the change succeeded.
        • If the instance status has changed from Changing to Running, the change succeeded. You can check the new broker quantity in the Flavor column.
        • If the instance status has changed from Changing to Change failed, the change failed. Move the cursor over Change failed to check the failure cause.

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

      Figure 6 Adding brokers

      After adding brokers, add the IP addresses of the new brokers to the client connection configuration to improve reliability.

    • Modifying broker flavors (for later instances).
      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. Return to the instance list and check whether the change succeeded.
        • If the instance status has changed from Changing to Running, the change succeeded. You can check the new broker flavor in the Flavor column.
        • If the instance status has changed from Changing to Change failed, the change failed. Move the cursor over Change failed to check the failure cause.

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

      Figure 7 Increasing or decreasing a broker flavor