本地不能訪問linux的kafka服務

1.本地使用kafka客戶端工具連接kafka服務,提示連接失敗

  1. 本地使用telnet ip port命令也失敗

3.查看zookeeper和kafka服務是否正常

ps -ef | grepzookeeper

ps -ef | grepkafka

3.關閉操作系統的防火墻(僅限于測試使用)

3.1.禁用防火墙

systemctl stop firewalld

4.在kafka的安裝目錄的配置文件 server.properties裏面配置listeners和advertised.listeners:

先簡單介紹一下概念:

listeners

侦听器列表,这里配置的监听器底层调用的是

java 复制代码
ServerSocketAdaptor.bind(SocketAddress local)

说明你配置的监听器将被用于监听网络请求。

简单理解就是你建立监听一个通道,别人能够通过这个通道跟你沟通。

所以我们需要设置 IP:Port.

这个属性的格式为:

java 复制代码
 listeners = listener_name://host_name:port,listener_name2://host_nam2e:port2

可以同时配置多个, 并且用逗号隔开

监听器的名称和端口必须是唯一的,端口相同,就冲突了

host_name如果为空,例如(),则会绑定到默认的接口(网卡),一般情况下是,底层调用的是

将host_name设置为 则会绑定所有的网卡, 也就是说不管从哪个网卡进入的请求都会被接受处理。但是请注意,假如你设置的是,那么 必须要设置,因为默认请看下使用的是的配置发布到zk中,发布到zk中是给其他Brokers/Clients 来跟你通信的,你设置,谁知道要请求哪个IP呢, 所以它必须要指定并明确 IP:PORT。具体详情请看下面

listener_name 是监听名,唯一值, 他并不是安全协议(大部分人都会搞错),因为默认的4个安全协议已经做好了映射, 例如 :PLAINTEXT ==> PLAINTEXT . 所以你经常看到的配置

可动态配置该属性

advertised.listeners

发布公开的监听器, 啥叫发布公开的监听器?

就是,让Brokers和Clients们都能够知道的监听器,你想想看,listeners是Broker用来监听网络请求的

那么,其他Broker或者客户端想要与它通信,则需要知道具体的IP:PORT吧?

所以,为了让别人知道自己的监听器,那么就需要公开出去,当然这个公开的形式,是通过zk来共享数据。

看看broker到zk节点/brokers/{brokerid}/ 下面的信息示例

这个属性的格式为:

java 复制代码
advertised.listeners = listener_name://host_name:port,listener_name2://host_nam2e:port2
  1. 默认情况下,advertised.listeners不设置会自动使用listeners属性
  2. advertised.listeners不支持0.0.0.0这种形式, 所以如果listeners属性设置成0.0.0.0,则必须设置advertised.listeners属性。具体请看 示例3 因为0.0.0.0是表示的是监听Broker上任意的网卡的, 你将这个发布出去,那么别的Broker和客户端怎么知道你具体的ip和端口呢?
  3. 可以同时配置多个, 并且用逗号隔开
  4. 可动态配置该属性

以下是我的配置:

listeners=PLAINTEXT://0.0.0.0:9092

advertised.listeners=PLAINTEXT://内(外)網ip:9092

5.重新啓動zookeeper和kafka服務

./zookeeper-server-start.sh /usr/local/kafka_2.13-3.8.0/config/zookeeper.properties &

./kafka-server-start.sh /usr/local/kafka_2.13-3.8.0/config/server.properties &

6.使用客戶端再次鏈接kafka服務端

相关推荐
微三云 - 廖会灵 (私域系统开发)4 小时前
电商系统微服务拆分实战:从单体到Spring Cloud的分布式事务踩坑与补偿方案
分布式·spring cloud·微服务
考虑考虑5 小时前
kafka4安装
后端·kafka·自动化运维
ACP广源盛139246256737 小时前
破局 PCIe 4.0 交换瓶颈@ACP#IX8024 / ASM58024参数及应用对比
大数据·人工智能·分布式·嵌入式硬件
淡然的煎蛋9 小时前
开始使用RabbitMQ
分布式·rabbitmq·ruby
笨鸟先飞的橘猫1 天前
skynet——分布式支持
分布式·skynet
lzhcoder1 天前
Spring Boot 集成 Kafka:先跑通 Demo,再避开那 80% 的人踩过的坑
java·kafka
ACP广源盛139246256731 天前
GSV6155 @ACP#工业车规 DP1.4 重定时器 Retimer
大数据·人工智能·分布式·嵌入式硬件
ACP广源盛139246256731 天前
GSV2221@ACP# DP1.4 MST 多流显示转换芯片国产工业多屏
大数据·人工智能·分布式·嵌入式硬件·spark
ACP广源盛139246256731 天前
GSV2231@ACP# 增强型 8K MST 多屏扩展芯片
大数据·人工智能·分布式·嵌入式硬件
虚心的百褶裙1 天前
远程调用服务架构设计及zookeeper技术详解(下篇)
分布式·zookeeper·云原生