ERROR Error when sending message to topic test_topic with key: null, value: 3 bytes……:部署Kafka时遇到两个问题

来源:互联网 发布:淘宝绽放茉莉恶心 编辑:程序博客网 时间:2024/05/22 02:13

问题描述:
之前用的是ActiveMQ,Kafka比ActiveMQ好很多,于是要换成Kafka,在虚拟机的centOS里部署好了,改好配置文件后新建topic,producer,consumer 进行一个收发消息测试,结果遇到报错:ERROR Error when sending message to topic test_topic with key: null, value: 3 bytes……

分析和解决:
我在部署的时候犯了两个错误:
问题一: zookeeper配置错误。项目是做中间件的,在部署Kafka之前就已经有一个zookeeper用来做负载均衡,并且默认端口号是2181,而且服务已经启动了。但是在解压Kafka压缩包之后会发现Kafka自带一个zookeeper,这就是Kafka比ActiveMQ好的一个地方——支持集群,并且可以用zookeeper做负载均衡。但是我却在 Kafka/conf目录下的zookeeper.properties、server.properties,Kafka/Kafka-manager目录下的kafka.sh这三个文件里依然保持zookeeper端口号为默认的2181,这就有问题,两个zookeeper的端口号冲突了。其实是因为之前的一级zookeeper变成了两级,而Kafka应该连接自己的zookeeper而不是上一级的zookeeper。解决办法是将那三个文件里zookeeper的端口号改一下,随便改一个不冲突的就可以了,我改成了2185.
问题二:我手贱把Kafka/conf 下的server.properties
默认的listeners=PLAINTEXT://127.0.0.1:9092
改成了listeners=PLAINTEXT://192.168.232.128:9092

把Kafka/Kafka-manager下的kafka.sh里的默认的
export ZK_HOSTS=127.0.0.1:2185
改成了export ZK_HOSTS=192.168.232.128:2185

(192.168.232.128也就是我虚拟机的IP地址,等同于127.0.0.1)
我怀疑是虚拟机没联网,对IP识别可能有问题,所以直接换回默认的127.0.0.1就可以了。我也不是很确定到底为什么改了就不行,只是我的猜测而已。

阅读全文
0 0
原创粉丝点击