前言:网上很多说是hosts的问题,我经过测试发现不是,经过我自己测试,介绍三种针对大部分问题的解决方法
1.未开放防火墙端口或关闭防火墙
防火墙一般本地测试才会关闭,线上一般都是开启的,建议还是添加端口
添加端口:
# --permanent 为永久添加,不指定此参数重启后失效
firewall-cmd --zone=public --add-port=9092/tcp --permanent
删除端口:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
查看所有端口:
firewall-cmd --zone=public --list-ports
查看指定端口:
firewall-cmd --zone= public --query-port=9092/tcp
查看端口状态:
netstat -tunlp
重载:
firewall-cmd --reload
防火墙命令:
#开启防火墙
service firewalld start
#启用防火墙
service firewalld enable (永久生效)
#关闭防火墙
service firewalld stop (重启后失效)
#禁用防火墙
service firewalld disable (永久生效)
#重启防火墙
service firewalld restart
#查看状态
service firewalld status
2.未指定kafka对外提供服务入口地址
编辑kafka的config目录下的server.properties,添加 对外提供服务入口地址:
注意:此ip为kafka所在主机的ip地址
listeners=PLAINTEXT://192.168.5.228:9092
3.项目中的kafka版本与服务器上安装的kafka版本不一致
修改maven的pom.xml文件,指定对应的kafka坐标,
我安装的是kafka_2.12-2.1.0,对应坐标为:
<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka_2.11</artifactId><version>0.10.0.0</version>
</dependency>