[转帖]Kafka故障之磁盘打满

kafka,故障,磁盘 · 浏览次数 : 0

小编点评

磁盘打满后,如果文件格式正确,磁盘打满扩容后能够正常重启。 如果文件格式损坏(log、index等),会报错: ``` index file due to requirement failed: Corrupt index found, index file (/data/kafka_/xx-5/00000000000237215019.index) has non-zero size but the last offset is 237215019 which is no larger than the base offset 237215019. ``` 解决方法: 1. 删除所有index、timeindex,kafka会自动重建删除单个Topic的index、timeindex删除所有topic的index、timeindexfind /data/kafka_log/ -name “.index” |xargs rm -ffind /data/kafka_log/ -name “.timeindex” |xargs rm -flog文件损坏的话就有点难受了发现日志里有ERROR There was an error in one of the threads during logs loading: org.apache.kafka.common.protocol.types.SchemaException: Error reading field 'version': java.nio.BufferUnderflowException (kafka.log.LogManager)[2020-05-03 10:28:55,092] FATAL [Kafka Server 2], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)需要排查到底哪个topic在索引重建过程中抛异常了。找到topic后,需要删除log损坏的文件,可以删最新的log,不影响历史的数据有效性;另外为了保证日志数据的完整性,线上Topic尽量多副本,这样即使节点整个不可用,删除之后依然有备份。

正文

https://www.jianshu.com/p/095e820361ae

 

问:磁盘打满扩容后能正常重启吗?
答:不一定

要看文件格式是否损坏(log、index等)。
如果损坏会报错:
index file due to requirement failed: Corrupt index found, index file (/data/kafka_/xx-5/00000000000237215019.index) has non-zero size but the last offset is 237215019 which is no larger than the base offset 237215019.}. deleting and rebuilding index... (kafka.log.Log)

index文件损坏好说:
删除所有index、timeindex,kafka会自动重建

  1. 删除单个Topic的index、timeindex
  2. 删除所有topic的index、timeindex
    find /data/kafka_log/ -name “.index” |xargs rm -f
    find /data/kafka_log/ -name “
    .timeindex” |xargs rm -f

log文件损坏的话就有点难受了
发现日志里有
ERROR There was an error in one of the threads during logs loading: org.apache.kafka.common.protocol.types.SchemaException: Error reading field 'version': java.nio.BufferUnderflowException (kafka.log.LogManager)
[2020-05-03 10:28:55,092] FATAL [Kafka Server 2], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
需要排查到底哪个topic在索引重建的过程中抛异常了。
找到topic后,需要删除log损坏的文件,可以删最新的log,不影响历史的数据有效性;
另外为了保证日志数据的完整性,线上Topic尽量多副本,这样即使节点整个不可用,删除之后依然有备份;

与[转帖]Kafka故障之磁盘打满相似的内容:

[转帖]Kafka故障之磁盘打满

https://www.jianshu.com/p/095e820361ae 问:磁盘打满扩容后能正常重启吗?答:不一定 要看文件格式是否损坏(log、index等)。如果损坏会报错:index file due to requirement failed: Corrupt index found,

[转帖]Kafka 基本概念大全

https://my.oschina.net/jiagoushi/blog/5600943 下面给出 Kafka 一些重要概念,让大家对 Kafka 有个整体的认识和感知,后面还会详细的解析每一个概念的作用以及更深入的原理 ・Producer:消息生产者,向 Kafka Broker 发消息的客户端

[转帖]Kafka 与RocketMQ 落盘机制比较

https://www.jianshu.com/p/fd50befccfdd 引言 前几期的评测中,我们对比了Kafka和RocketMQ的吞吐量和稳定性,本期我们要引入一个新的评测标准——软件可靠性。 何为“可靠性”? 先看下面这种情况:有A,B两辆越野汽车,在城市的周边地区均能很好应对泥泞的路况

[转帖]Kafka关键参数设置

https://www.cnblogs.com/wwcom123/p/11181680.html 生产环境中使用Kafka,参数调优非常重要,而Kafka参数众多,我们的java的Configuration代码中,经常设置的参数如下: Properties props = new Propertie

[转帖]kafka压测多维度分析实战

设置虚拟机不同的带宽来进行模拟压测 kafka数据压测 1、公司生产kafka集群硬盘:单台500G、共3台、日志保留7天。 1.1 版本:1.1.0 2、压测kafka。 2.1 使用kafka自带压测工具:bin/kafka-producer-perf-test.sh 命令参数解释: --num

[转帖]Kafka—配置SASL/PLAIN认证客户端及常用操作命令

介绍 SASL/PLAIN 是一种简单的 username/password安全认证机制,本文主要总结服务端开启该认证后,命令行客户端进行配置的操作流程。 配置 增加jaas.properties 在kafka的config目录下增加jaas.properties文件指定认证协议为SASL_PLAI

[转帖]kafka 配置认证与授权

https://www.cnblogs.com/yjt1993/p/14739130.html 本例不使用kerberos做认证,使用用户名和密码的方式来进行认证 1、服务端配置 1.0 配置server.properties 添加如下配置 #配置 ACL 入口类 authorizer.class.

[转帖]Kafka—配置SASL/PLAIN认证客户端及常用命令

https://www.jianshu.com/p/c1a02fb1779f 介绍 SASL/PLAIN 是一种简单的 username/password安全认证机制,本文主要总结服务端开启该认证后,命令行客户端进行配置的操作流程。 配置 增加jaas.properties 在kafka的confi

[转帖]kafka搭建kraft集群模式

kafka2.8之后不适用zookeeper进行leader选举,使用自己的controller进行选举 1.准备工作 准备三台服务器 192.168.3.110 192.168.3.111 192.168.3.112,三台服务器都要先安装好jdk1.8,配置好环境变量, 下载好kafka3.0.0

[转帖]Kafka高可用 — KRaft集群搭建

Apache Kafka Raft 是一种共识协议,它的引入是为了消除 Kafka 对 ZooKeeper 的元数据管理的依赖,被社区称之为 Kafka Raft metadata mode,简称 KRaft 模式。本文介绍了KRaft模式及三节点的 KRaft 集群搭建。 1 KRaft介绍 KR