kafka启动报错&问题解决

3,654 阅读1分钟

kafka启动报错&问题解决

一早上班,就收到运维同事通知说有一台物理机宕机,导致虚拟机挂了。只得重启kafka服务器。

1.启动

启动zookeeper

bin/zkServer.sh start conf/zoo.cfg &

启动kafka

bin/kafka-server-start.sh config/server.properties &

2.测试

问题一

kafka启动之后,发现一直打印warn,上图。且在进程中ps -ef| grep kafka,无法看到。很明显kafka启动失败了。

Resetting first dirty offset of __consumer_offsets

从重复报错信息中可以得知,这是清理线程在一直遇到问题。最快的方式当前是清空kafka的data目录。或者不管这个warn,当大量数据涌入的时候,产生了可以清理的segment,就不会再有这个warn了。参考 blog.csdn.net/define_us/a…

问题二

正常启动kafka之后,测试能否使用走一波。

创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

生产者生产消息

[apps@erp-computation-4 kafka_2.11-1.1.0]$ bin/kafka-console-producer.sh --broker-list 10.17.156.8:9092 --topic test

my name is xiaoqiang

消费者消费消息

[apps@erp-computation-4 kafka_2.11-1.1.0]$ bin/kafka-console-consumer.sh --bootstrap-server 10.17.156.8:9092 --topic test --from-beginning

my name is xiaoqiang

至此,kafka启动完成,正常使用。 ctrl+c,关掉Xshell窗口,专心码代码。测试应用的时候发现,一堆报错全部指向连不上kafka。再战kafka服务器,发现kafka进程已不在。

kafka启动正常

应用启动正常

ctrl+c

应用连接kafka报错

kafka进程被干掉

最终问题发现: 退出kafka时不用ctrl+c, 要用exit函数去退出