最近,运行在测试环境中的实例老是宕机,还有运行在本地的实例也是会报一个空指针异常,宕机的实例查看日志发现是kafak的原因,本地宝空指针,debug到具体的位置也是kafak的原因。
然后就去到测试集群里面查看kafka的情况,因为是刚到公司,环境还不是很熟悉,所以使用了locate 找到了kafka安装的目录 记得使用locate之前要先updatedb 。
然后使用kafka-topic.sh来进行节点的查看 用来查看具体存活的节点。
./kafka-topic.sh --description --zookeeper 192.168.233.156 可以查看所有的节点的。对比repl副本和ISR节点,找出宕机的节点。或者是./kafka-topic.sh --descrption --zookeeper 192.168.233.156 --topic test
找到具体的节点的问题之后,到节点所在的机器上面,重启kafka节点。 ./kafka-server-start.sh -deamon server.properties,注意的是server.propeties里面的broker.id最好要和之前的宕机的节点一样,这样数据就会自动的复制丢失的数据的。否则,你还要重新分配分区。
./bin/kafka-reassign-partitions.sh --zookeeper 172.18.12.211:2181 --reassignment-json-file increase-replication-factor.json --execute
参考博客:https://blog.csdn.net/ashic/article/details/87876824
网友评论