检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
删除Topic会导致Topic中的数据也被删除,并且无法找回,同时会影响使用该Topic的相关业务。 已开启密文接入的实例,“allow.everyone.if.no.acl.found”设置为“false”时,无法通过客户端删除Topic。 前提条件 只有运行中的实例才可以删除Topic。
偏移量 输入消息的偏移量。 单击“搜索”,查询消息。 查询结果如下: 图1 查询Topic消息 消息的参数说明如下: Topic名称:消息所在的Topic名称。 分区:消息所在的分区。 偏移量:消息在分区中的位置。 消息大小:消息存入磁盘的大小,单位为B。 创建时间:消息的创建时间。创
您可以根据业务需要创建相应计算能力和存储空间的Kafka实例。 API调用方法请参考如何调用API。 前提条件 已获取IAM的Endpoint,具体请参见地区和终端节点。 已获取Kafka的Endpoint,具体请参见地区和终端节点。 创建Kafka实例 如下示例是创建Kafka实例的请求消息: { "name":
意选择一种。 升级Kafka客户端的版本到2.7或以上版本,并设置“socket.connection.setup.timeout.ms”大于1s,且小于“request.timeout.ms/Kafka服务端节点数”。 修改Kafka客户端的“request.timeout.ms”大于“127s”。
安全协议”设置为“SASL_SSL”,则在开源客户端基础上使用云服务提供的证书文件。 本指南主要介绍实例连接信息的收集,如获取实例连接地址、Topic名称等,然后提供Java、Python和Go等语言的连接示例。 本指南的示例仅展示Kafka的API调用,生产与消费的API集,请参考Kafka官网。
List)权限管理,您可以在Topic中为不同的用户设置不同的生产消费消息的权限,以达到用户之间的权限隔离。 本章节主要介绍Kafka实例开启密文接入后,如何创建用户、重置用户密码、修改用户信息和删除用户。创建用户后,对Topic进行用户授权的操作,请参见设置Kafka Topic权限。 在控制台创建用户的方法有两种,两种方法对应的重置密码的步骤有区别。
session设置为30秒,session.timeout.ms=30000。 Kafka不能保证消费重复的消息,业务侧需保证消息处理的幂等性。 消费线程退出要调用consumer的close方法,避免同一个组的其他消费者阻塞session.timeout.ms的时间。 消费组名
策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对DMS for Kafka服务,管理员能够控制IAM用户仅能对实例进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,DMS
为什么Kafka实例常常发生Rebalance(重平衡),导致消息拉取失败? 消费组的Rebalance就是对Topic分区的重新分配。 正常情况下消费组内加入新的消费者或老的消费者退出都会导致Rebalance,这种情况是无法避免的。但是某些特殊情况下,消费者会被服务端认为异常从而被踢出消费组,此时可能会导致消费异常,需要重点关注。
如何修改安全协议? Kafka实例的安全协议包括SASL_SSL和SASL_PLAINTEXT。 未开启IPv6的实例,安全协议支持在控制台修改。先在Kafka实例的详情页的“连接信息”区域,关闭密文接入,然后再开启密文接入,此时可以重新设置安全协议。 已开启IPv6的实例,实例创建后,不支持修改安全协议。
可能原因:在扩容/缩容代理规格的过程中,代理采用滚动重启的方式进行实例变更。在重启过程中,分区Leader会进行切换,此时生产客户端的元数据缓存中保存的分区Leader为旧分区Leader ID,仍然会向旧分区Leader发送消息,导致生产消息失败。 解决方法:在生产客户端配置重试机制。建议设置retries=Integer
稳定性高,基于librdkafka,具有高性能和低延迟的特点。 增加编译复杂度。由于导入C++库,Golang编译器需要引入额外编译配置,增加了编译依赖,提高编译复杂度。 Kafka-go kafka-go是一个简单、轻量级的Kafka客户端库,易于学习和使用。 kafka-go的代码库相对较小,依赖较少,可以减少应用程序的体积和依赖关系。
可能原因:您开启了自动创建消费组功能,且您的业务正在连接该消费组消费消息。所以,如果没有停止您的业务,删除了消费组后,消费消息时还是会自动创建该消费组。 解决办法:关闭自动创建消费组功能,即在Kafka控制台的“配置参数”页面,把“auto.create.groups.enable”设置为“false”,
解决方法:修改老化时间。 可能原因2:消息的createTime时间戳不对。 Console页面是根据时间查询的,所以查不到。时间戳是由客户端生成,不同客户端有不同的处理策略,有的客户端默认值会是0或者-1,则查询不到消息。 解决方法:检查客户端消息的createTime设置是否正确。 可能原因3:
输入的偏移量为5,此时会删除偏移量为2到4的消息。 请注意以下几点: 如果“偏移量”设置为“-1”,表示删除分区中所有的消息。 如果您输入的偏移量不在指定分区的最早偏移量和最晚偏移量之间,消息将不会被删除。 如果需要删除多个分区的消息,单击“添加分区”,设置需要删除消息的分区和偏移量。每次最多可选择10个分区。
导致部分消息生产失败。 初始生产/消费的流量较大,如果设置一个较小的流控值,会导致生产/消费的时延增大、部分消息生产失败。建议逐次减半设置流控值,待生产/消费稳定后继续减半设置,直到设置为目标流控值。例如初始生产流量100MB/s,可先设置生产流控为50MB/s,待稳定后再修改为25MB/s,直到目标流控值。
配置Topic 创建Kafka Topic 设置Kafka Topic权限 Topic管理
分区平衡后Topic的metadata会改变,如果生产者不支持重试机制,会有少量的请求失败,导致部分消息生产失败。 数据量大的Topic进行分区平衡的时间会比较长。Topic的数据量可以通过监控页面的“队列数据容量”查看,具体步骤请参考查看Kafka监控数据。在不影响业务的前提下,建议适
2023年4月25日及以后创建的实例,支持在控制台创建消费组。 如果“auto.create.groups.enable”设置为“true”,当消费组的状态为“EMPTY”且从未提交过offset,系统将在十分钟后自动删除该消费组。 如果“auto.create.groups.enable”设置为“fa
在分布式消息服务Kafka版提供的原生Kafka SDK中,消费者可以自定义拉取消息的时长,如果需要长时间的拉取消息,只需要把poll(long)方法的参数设置合适的值即可。但是这样的长连接可能会对客户端和服务端造成一定的压力,特别是分区数较多且每个消费者开启多个线程的情况下。 如图1所示,