kafka单机重启topic丢失问题排查

Posted zfszhangyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka单机重启topic丢失问题排查相关的知识,希望对你有一定的参考价值。

这个问题,在线上集群环境一般不容易出现,因为相关的日志文件参数都已经配置好了,而且经受住时间的的验证了。

作为新手,我在本地配置了一个单机kafka,用得是kafka自带的zookeeper服务。

kafka安装很简单如下:

1).下载kafka:


wget http://apache.fayea.com/kafka/0.10.1.0/kafka_2.10-0.10.1.0.tgz
2) 解压:


tar -zxf kafka_2.10-0.10.1.0.tgz
3)启动zookeeper,kafka


> bin/zookeeper-server-start.sh config/zookeeper.properties &
[2013-04-22 15:01:37,495] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
...


现在启动Kafka:
> bin/kafka-server-start.sh config/server.properties &
[2013-04-22 15:01:47,028] INFO Verifying properties (kafka.utils.VerifiableProperties)
[2013-04-22 15:01:47,051] INFO Property socket.send.buffer.bytes is overridden to 1048576 (kafka.utils.VerifiableProperties)
...
备注:要挂到后台使用:


4)新建一个TOPIC
> bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic


5)查看创建的topic list
> bin/kafka-topics.sh --list --zookeeper localhost:2181


6)查看topic详情
> bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic


这个时候我们给topic添加一点数据:

> bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my-replicated-topic

重启电脑后 启动zookeeper kafka后发现topic没了

这里简略一点:有两个地方需要配置一下 第一个是zookeeper的数据目录 和日志目录(主要是数据目录),另外一个就是kafka本事的server.properties

1.配置zookeeper的把目录从tmp目录修改成自定义目录

2.kafka的日志目录重新配置不要放在tmp下面 ,另外设置一下数据 flush策略,保证数据已经flush到磁盘上

下面是flush策略的修改


本文对其他配置没有做过多介绍,只是把kafka数据落地的配置罗列了一下。

配置好,重启,问题解决。


以上是关于kafka单机重启topic丢失问题排查的主要内容,如果未能解决你的问题,请参考以下文章

kafka没配置好,导致服务器重启之后,topic丢失,topic里面的消息也丢失

mq如何保证高可用,解决重复消费、数据丢失问题和顺序性问题

解开Kafka神秘的面纱:kafka单机部署和集群部署

解开Kafka神秘的面纱:kafka单机部署和集群部署

kafka故障排查-consumer处理超时导致的异常

一次Kafka内存泄露排查经过