检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
python3 producer.py 运行成功后,返回如下回显。 [root@ecs-test ~]# python3 producer.py start producer end producer [root@ecs-test ~]# 消费消息 在客户端创建一个文件,用于存放消费消息的代码示例。
前提条件 已准备一台Linux系统的服务器,并安装Java Development Kit 1.8.111或以上版本,配置JAVA_HOME与PATH环境变量。 实例已开启Kafka SASL_SSL。 步骤一:制作证书 登录Linux系统的服务器,执行以下命令,生成server.keystore
tasks/{task_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 task_id 是 String 任务ID。 请求参数 无 响应参数
String 企业项目ID。 is_logical_volume Boolean 实例扩容时用于区分老实例与新实例。 true:新创建的实例,允许磁盘动态扩容不需要重启。 false:老实例。 extend_times Integer 实例扩容磁盘次数,如果超过20次则无法扩容磁盘。 enable_auto_topic
详情页开启密文接入功能。然后在控制台的“用户管理”页面,获取用户名。 如果需要对指定客户端进行流量控制,请在客户端配置中获取client ID。 如果需要对指定Topic进行流量控制,请在控制台的“Topic管理”页面,获取Topic名称。 创建用户/客户端流控 登录管理控制台。
connection-address:在Kafka控制台的“基本信息 > 连接信息”中,获取Kafka实例的连接地址。 consumer-group-name:消费组名称。 示例如下: [root@ecs-kafka bin]# ./kafka-consumer-groups.sh --bootstrap-server
String 企业项目ID。 is_logical_volume Boolean 实例扩容时用于区分老实例与新实例。 true:新创建的实例,允许磁盘动态扩容不需要重启。 false:老实例。 extend_times Integer 实例扩容磁盘次数,如果超过20次则无法扩容磁盘。 enable_auto_topic
在“基本信息”页面的“网络”区域,查看Kafka实例所在的VPC名称。 图3 查看Kafka实例所在的VPC名称 单击VPC名称,进入VPC基本信息页签,获取VPC ID。 图4 获取VPC ID 调用VPC终端节点的API创建终端节点服务,API详情请参考创建终端节点服务。 POST https://{en
e_id}/autotopic 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 enable_auto_topic
更为STABILIZED。 Member consumer-xxx in group 1 has failed 表示消费组内的某一个消费者超时退出,一般触发场景是消费者长时间没有与服务端通信导致,比如处理消息耗时太久阻塞等。 对文件中每次Preparing到Stabilized完
基本信息 > 连接信息”中,获取Kafka实例的连接地址。 topic-name:Topic名称。 number-of-partitions:Topic的分区数。出于性能考虑,建议单个Topic的分区数设置为200以内。 示例如下: [root@ecs-kafka bin]# ./kafka-topics
request.timeout.ms 30000 结合实际业务调整 设置一个请求最大等待时间(单位为ms),超过这个时间则会抛Timeout异常。 超时时间如果设置大一些,如127000(127秒),高并发的场景中,能减少发送失败的情况。 block.on.buffer.full TRUE
参数说明如下: connection-address:在Kafka控制台的“基本信息 > 连接信息”中,获取Kafka实例的连接地址。 group-name:消费组名称。 示例如下: [root@ecs-kafka bin]# ./kafka-consumer-groups.sh --bootstrap-server
rrorMaker,否则会导致数据在Topic内无限循环复制。 实施步骤 购买一台弹性云服务器,确保弹性云服务器与源集群、目标集群网络互通。具体购买操作,请参考购买弹性云服务器。 登录弹性云服务器,安装Java JDK,并配置JAVA_HOME与PATH环境变量,使用执行用户在用户家目录下修改“
消息/邮件。 代理(Broker) 即Kafka集群架构设计中的单个Kafka进程,一个Kafka进程对应一台服务器,因此手册中描述的代理,还包括对应的存储、带宽等服务器资源。 分区(Partition) 为了实现水平扩展与高可用,Kafka将Topic划分为多个分区,消息被分布式存储在分区中。
参数说明如下:connection-address表示Kafka实例的连接地址,在Kafka控制台的“基本信息 > 连接信息”中获取。 示例如下: [root@ecs-kafka bin]# ./kafka-consumer-groups.sh --bootstrap-server 192
nt/coordinators 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 请求参数 无 响应参数 状态码:200 表2 响应Body参数 参数
在左侧导航栏单击“Kafka实例”,进入Kafka实例列表页面。 单击Kafka实例的名称,进入实例的“基本信息”页面。 在“连接信息”区域,获取并记录“内网连接地址”的IPv6地址。在“网络”中,获取并记录虚拟私有云和子网。 图3 实例详情页 在管理控制台左上角单击,选择“网络 > 弹性公网IP EIP”,进入“弹性公网IP”页面。
同一消费组内consumer数量不能超过该消费组订阅的分区总数,否则会有consumer拉取不到消息。 consumer需周期poll,维持和server的心跳,避免心跳超时,导致consumer频繁加入和退出,阻塞消费。 consumer拉取的消息本地缓存应有大小限制,避免OOM(Out of Memory)。
作API的权限。Token可通过调用获取用户Token接口获取。 云服务存在两种部署方式:项目级服务和全局级服务。其中: 项目级服务需要获取项目级别的Token,此时请求body中auth.scope的取值为project。 全局级服务需要获取全局级别的Token,此时请求body中auth