检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
连接Kafka网络要求 客户端可以通过公网连接Kafka实例,也可以通过内网连接Kafka实例。使用内网连接时,注意以下几点: 如果客户端和Kafka实例部署在同一个VPC内,网络默认互通。 如果客户端和Kafka实例部署在不同VPC中,由于VPC之间逻辑隔离,客户端和Kafka
VPC终端节点由“终端节点服务”和“终端节点”两种资源实例组成。 终端节点服务:将Kafka实例配置为VPC终端节点支持的服务,可以被终端节点连接和访问。 终端节点:用于在VPC和终端节点服务之间建立便捷、安全、私密的连接通道。 图1 跨VPC访问Kafka实例原理图 客户端使用VPCEP跨VPC访问Kafka时,使用的是明文连接还是密文连接?
示成功关闭公网访问。 关闭公网访问后,需要设置对应的安全组规则,才能成功通过内网连接Kafka。连接Kafka的具体操作请参考连接实例。 创建安全组后,系统默认添加入方向“允许安全组内的弹性云服务器彼此通信”规则和出方向“放通全部流量”规则,此时使用内网通过同一个VPC访问Kafka实例,无需添加表4的规则。
配置Kafka网络连接 连接Kafka网络要求 配置Kafka实例的公网访问 使用VPCEP实现跨VPC访问Kafka 使用DNAT实现公网访问Kafka 父主题: 连接实例
创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问。具体步骤请参考VPC对等连接说明。 利用VPC终端节点在不同VPC间建立跨VPC的连接通道,实现Kafka客户端通过内网访问Kafka实例。具体步骤请参考使用VPCEP实现跨VPC访问Kafka。 父主题: 连接问题
开启/关闭SSL双向认证将重启实例,请谨慎操作。 配置SSL双向认证的流程如图1所示。 图1 配置SSL双向认证流程图 前提条件 已准备一台Linux系统的服务器,并安装Java Development Kit 1.8.111或以上版本,配置JAVA_HOME与PATH环境变量。 实例已开启Kafka SASL_SSL。
在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务Kafka版”,进入分布式消息服务Kafka专享版页面。 单击Kafka实例名称,进入实例详情页面。 在“基本信息”页面的“连接信息”区域,获取并记录Kafka实例的内网连接地址。在“网络”区域,获取并记录Kafka实例所在的虚拟私有云和子网。
在弹出的“创建用户”对话框中,参考配置Kafka ACL用户,设置用户信息。 表1 创建用户参数说明 参数 说明 用户名 连接Kafka实例的用户名,用户名支持自定义,但需要符合命名规则:长度为4~64个字符,由英文字母开头,只能由英文字母、数字、中划线、下划线组成。 密码 连接Kafka实例的密码,密码需要符合以下规则:
选择和配置安全组 Kafka实例支持使用内网通过同一个VPC访问、跨VPC访问、通过DNAT访问和公网访问,访问实例前,需要配置安全组。 使用内网通过同一个VPC访问实例 客户端和实例是否使用相同的安全组? 是,如果保留了创建安全组后,系统默认添加的入方向“允许安全组内的弹性云服
使用内网通过同一个VPC访问Kafka实例的连接地址(内网连接地址) 图2 使用内网通过同一个VPC访问Kafka实例的连接地址(内网明文连接地址) 如果是公网访问,Kafka连接地址如下图所示。 图3 公网访问Kafka实例的连接地址(公网连接地址) 图4 公网访问Kafka实例的连接地址(公网明文连接地址) 如
配置Kafka实例的明文/密文接入 您可以通过明文接入Kafka实例,也可以通过密文接入Kafka实例,本章节指导您在控制台修改接入方式。 明文接入:表示客户端连接Kafka实例时,无需进行SASL认证。 密文接入:表示客户端连接Kafka实例时,需要进行SASL认证。 首次修改
Kafka客户端参数配置建议 Kafka客户端的配置参数很多,以下提供Producer和Consumer几个常用参数配置。不同版本的Kafka客户端参数名称可能不同,以下配置参数适用于1.1.0及以上版本。其他参数和版本配置,请参考Kafka配置。 表1 Producer参数 参数
配置Kafka客户端 Kafka客户端参数配置建议 Kafka客户端使用建议 父主题: 连接实例
配置Kafka访问控制 配置Kafka实例的明文/密文接入 制作和替换Kafka的SSL证书 JKS格式SSL证书转换PEM格式 配置Kafka的SSL双向认证 配置Kafka ACL用户 父主题: 连接实例
的配置请参考表2。 已获取连接Kafka实例的地址。 在Kafka控制台的“基本信息 > 连接信息”中获取实例连接地址。Kafka实例连接地址在Kafka控制台存在两种不同的显示,一种为“内网连接地址”/“公网连接地址”,另一种为“内网密文连接地址”/“公网密文连接地址”,具体以控制台显示为准。
客户端单IP连接的个数为多少? 2020年7月以及之后购买的实例,Kafka实例的每个代理允许客户端单IP连接的个数默认为1000个,在此之前购买的实例,Kafka实例的每个代理允许客户端单IP连接的个数默认为200个,如果超过了,会出现连接失败问题。您可以通过修改配置参数来修改单IP的连接数。
Kafka实例连接数有限制吗? 不同规格的Kafka实例,连接数限制如下: 表1 老规格Kafka实例的连接数 基准带宽 连接数上限 100MB/s 3000 300MB/s 10000 600MB/s 20000 1200MB/s 20000 表2 新规格Kafka实例的连接数 实例规格
以下示例演示在Java客户端使用PEM格式证书访问Kafka实例。 参考Java客户端接入示例,连接Kafka实例生产消费消息。其中,生产消息配置文件和消费消息配置文件中的SASL信息修改为如下内容。 #SASL认证机制为“PLAIN”时,配置信息如下。 sasl.mechanism=PLAIN sasl.jaas
前提条件 已准备一台Linux系统的服务器,并安装Java Development Kit 1.8.111或以上版本,配置JAVA_HOME与PATH环境变量。 实例已开启Kafka SASL_SSL。 步骤一:制作证书 登录Linux系统的服务器,执行以下命令,生成server.keystore
5760字节。 其他建议 连接数限制:3000 消息大小:不能超过10MB 使用SASL_SSL协议访问Kafka:确保DNS具有反向解析能力,或者在hosts文件配置Kafka所有节点IP和主机名映射,避免Kafka client做反向解析,阻塞连接建立。 磁盘容量申请超过业务量