检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
总页数。 offset Integer 当前页数。 表4 messages 参数 参数类型 描述 topic String topic名称。 partition Integer 分区编号。 message_offset Long 消息编号。 size Integer 消息大小,单位字节。
Kafka支持减少分区数吗? Kafka不支持减少分区数,您可以通过删除原先的Topic,然后创建新Topic,重新设置分区数。 父主题: Topic和分区问题
如何扩总分区? 增加基准带宽/代理数量,可以扩大总分区数。 在Kafka控制台的实例所在行,单击“更多 > 变更规格”,进入变更规格页面,根据实际情况扩容基准带宽/代理数量。具体操作请参考变更Kafka实例规格。 父主题: Topic和分区问题
项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 topic 是 String Topic名称。 Topic名称必须以字母开头且只支持大小写字母、中横线、下划线以及数字。 partition 是 Integer 分区编号。 表2 Query参数 参数 是否必选 参数类型 描述
为什么限制Topic的总分区数? Kafka以分区为粒度管理消息,分区多导致生产、存储、消费都碎片化,影响性能稳定性。在使用过程中,当Topic的总分区数达到上限后,用户就无法继续创建Topic。 不同规格配置的Topic总分区数不同,如下表所示。 表1 Kafka集群实例规格 规格名称
Partitions”,进入增加分区界面。 图1 Topic详情界面 输入分区数,单击“Add Partitions”。 出于性能考虑,建议单个Topic的分区数设置为200以内。 图2 增加分区数量 显示“Done”,表示分区增加成功。 图3 分区增加成功 在客户端修改Topic分区数 Kafka客户端版本为2
项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 topic 是 String Topic名称。 Topic名称必须以字母开头且只支持大小写字母、中横线、下划线以及数字。 partition 是 Integer 分区编号。 请求参数 无 响应参数 状态码:200 表2 响应Body参数
查询Topic的分区列表 功能介绍 查询Topic的分区列表 调用方法 请参见如何调用API。 URI GET /v2/{project_id}/kafka/instances/{instance_id}/topics/{topic}/partitions 表1 路径参数 参数 是否必选
是 实例ID。 topic String 是 Topic名称。 partition Integer 是 分区编号。 请求消息 请求参数 无 请求示例 无 响应消息 响应参数 参数说明见表2。 表2 响应参数说明 参数 类型 说明 topic String topic名称。 partition
项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 topic 是 String Topic名称。 Topic名称必须以字母开头且只支持大小写字母、中横线、下划线以及数字。 partition 是 Integer 分区编号。 请求参数 无 响应参数 状态码:200 表2 响应Body参数
表6 分区平衡前Topic分区的副本分布 Topic名称 分区名称 Leader副本所在Broker Follower副本所在Broker Topic1 0 0 0 Topic1 1 1 1 Topic2 0 1 1 Topic2 1 2 2 表7 分区平衡后Topic分区的副本分布
String Topic名称。 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 partition 否 Integer 期望调整分区后的数量,必须大于当前分区数量,小于等于 100。 响应参数 无 请求示例 增加Topic分区数。 POST https://{endpo
Topic和分区问题 Kafka实例的Topic数量是否有限制? 为什么限制Topic的总分区数? Kafka支持减少分区数吗? Kafka实例创建Topic失败 Kafka实例支持批量导入Topic功能么?或者是自动生成Topic功能? Kafka实例是否支持查看单个Topic占用磁盘空间?
是 实例ID。 topic String 是 Topic名称。 请求消息 请求参数 表2 参数说明 参数 类型 必选 说明 partition Integer 是 期望调整分区后的数量,必须大于当前分区数量,小于等于100。 请求示例 { "partition": 3 } 响应消息
Manager如何修改Topic的分区Leader? 在Kafka Manager中修改Topic的分区Leader的步骤如下: 登录Kafka Manager。 选择“Topic > List”,进入Topic列表页面。 单击待修改分区Leader的Topic名称(以topic-test为例介绍),进入Topic详情页面。
Kafka实例的Topic数量是否有限制? Topic数量和Topic总分区数、每个Topic的分区数有关,Kafka实例对Topic总分区数设置了上限,当达到上限后,会导致用户无法继续创建Topic。 不同规格配置的Topic总分区数不同,如下表所示。 表1 Kafka集群实例规格
TopicAssignment 参数 是否必选 参数类型 描述 partition 否 Integer 手动指定分配方案时的分区号。 partition_brokers 否 Array of integers 手动指定某个分区将要分配的broker列表 响应参数 状态码:200 表5 响应Body参数
修改Kafka实例Topic分区的副本 功能介绍 修改Kafka实例Topic分区的副本。 调用方法 请参见如何调用API。 URI POST /v2/{project_id}/instances/{instance_id}/management/topics/{topic}/replicas-reassignment
Kafka实例创建Topic失败 可能原因:已创建的Topic,分区数之和达到实例规格的分区数上限。不同规格实例配置的分区数上限不同,具体请参考Kafka单机实例规格和Kafka集群实例规格。 解决方案:对Kafka实例扩容,或者删除不需要的Topic。 父主题: Topic和分区问题
调整Kafka实例Topic分区的副本 当前页面API为历史版本API,未来可能停止维护。请使用修改Kafka实例Topic分区的副本。 URI POST /v1.0/{project_id}/instances/{instance_id}/manage/topics/{topic}/replicas-reassignment