一、springboot整合kafka报错“30006 ms has passed since batch creation plus linger time”
解决方法:
打开server.properties文件
vim config/server.properties
将
#listeners=PLAINTEXT://:9092
修改为
listeners=PLAINTEXT://(你的主机IP):9092
二、Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
原因:
kafka启动后会在zookeeper的/brokers/ids下注册监听协议,包括IP和端口号,客户端连接的时候,会取得这个IP和端口号。但是listeners和advertised.listeners的区别,advertised.listeners才是真正暴露给外部使用的连接地址,会写入到zookeeper节点中的。advertised.listeners才是真正的对外代理地址,那么listeners的作用就不是对外提供服务代理而是监听。
解决:
打开server.properties文件,将下面两行修改为:
listeners=PLAINTEXT://0.0.0.0:9092 advertised.listeners=PLAINTEXT://(IP Address):9092
三、Timeout expired while fetching topic metadata
第二天开发发现上面错误,解决方法竟然是打开对应端口的防火墙!
firewall-cmd --zone=public --add-port=9092/tcp --permanent firewall-cmd --reload
四、kafka启动OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Not enough space' (errno=12)
打开kafka安装路径,在bin目录下
vim kafka-server-start.sh
将
KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
修改为
KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"