配置外网客户端访问Kafka Broker
操作场景
外网环境Kafka客户端访问部署在内网的Kafka Broker,需参考该章节操作开启Kafka内外网分流访问。
约束与限制
本章节适用于MRS 3.2.0及之后版本。
前提条件
- Broker所在节点同时具有内网IP和外网IP,Broker绑定在内网IP上,外网无法访问。或者Broker所在节点只具有内网IP,外部服务通过网闸机映射访问内网。
- ZooKeeper服务运行正常。
- Kafka实例状态和磁盘状态均正常。
操作步骤
- 登录FusionInsight Manager界面。
登录集群Manager具体操作,请参考访问MRS集群Manager。
- 选择“集群 > 服务 > Kafka > 实例 > Broker > 实例配置 > 全部配置”。在搜索框输入“broker.id”,查看并记录当前Broker实例的Broker ID。
broker.id:表示服务器上Broker的ID值,每个Broker具有唯一的ID值。不支持配置,由系统自动生成。
- 重复2,查看并记录每一个Broker实例的Broker ID。
- 选择“集群 > 服务 > Kafka > 配置 > 全部配置”。参考表1搜索并根据实际需要配置具体参数。
表1 参数配置说明 配置项
描述
取值要求
enable.advertised.listener
是否开启“advertised.listeners”配置。默认值为“false”。
配置“enable.advertised.listener”参数值为“true”。
说明:安装Kafka服务时,此参数初始化配置不能设置为“true”,设置为“true”的前提条件是Broker实例和ZooKeeper必须处于正常运行状态。
advertised.broker.id.ip.map
Kafka对外发布的IP地址。默认值为空。
- 配置格式为:Broker ID:IP。
- 多个Broker可为同一IP地址。配置多个映射时,使用英文半角逗号分隔。
将2中记录的每个Broker实例的Broker ID与此Broker将要绑定的IP做映射。
例如有三个Broker实例和一个IP地址,Broker ID分别为1、2、3,IP地址为10.xxx.xxx.xxx,则配置格式为1:10.xxx.xxx.xxx,2:10.xxx.xxx.xxx,3:10.xxx.xxx.xxx。
advertised.broker.id.port.map
Kafka对外发布的端口。默认值为空。
- 配置格式为:Broker ID:Port。
- “Port”为将要绑定的端口,此端口为自定义端口,配置的端口必须为可用的端口。
- 配置多个映射时,使用英文半角逗号分隔。
- 参数“advertised.broker.id.port.map”与参数“actual.broker.id.port.map”中的“Port”可以配置为相同端口。
将2中记录的每个Broker实例的Broker ID与此Broker将要绑定的端口做映射。
例如有三个Broker实例和三个Port,Broker ID分别为1、2、3,Port分别为3307、3308、3309,则配置格式为1:3307,2:3308,3:3309。
actual.broker.id.ip.map
Kafka实际额外绑定的IP地址,默认值为空。
- 配置格式为:Broker ID:IP。
- 配置多个映射时,使用英文半角逗号分隔。
将2中记录的每个Broker实例的Broker ID与此Broker将要绑定的IP做映射。
例如有三个Broker实例和一个IP地址,Broker ID分别为1、2、3,IP地址为10.xxx.xxx.xxx,则配置格式为1:10.xxx.xxx.xxx,2:10.xxx.xxx.xxx,3:10.xxx.xxx.xxx。
actual.broker.id.port.map
Kafka实际额外绑定的端口,默认值为空。
- 配置格式为:Broker ID:Port。
- “Port”为将要绑定的端口,此端口为自定义端口,配置的端口必须为可用的端口。
- 配置多个映射时,使用英文半角逗号分隔。
- 参数“advertised.broker.id.port.map”与参数“actual.broker.id.port.map”中的“Port”可以配置为相同端口。
将2中记录的每个Broker实例的Broker ID与此Broker将要绑定的端口做映射。
例如有三个Broker实例和三个Port,Broker ID分别为1、2、3,Port分别为3307、3308、3309,则配置格式为1:3307,2:3308,3:3309。
- 配置完成后,左上角单击“保存”,在Kafka“实例”界面,勾选Broker实例,选择“更多 > 滚动重启实例”,等待滚动重启完成生效。
- (可选)如果需要关闭此配置,将“enable.advertised.listener”设置为“false”,单击“保存”。在Kafka“实例”界面,勾选Broker实例,选择“更多 > 滚动重启实例”,等待滚动重启完成生效。