开篇扯犊子

今天踏进办公听到不是同事的早安,而是“有一个好消息,一个坏消息,你想听哪个?” 我一愣,心想“大早上,就要玩刺激的吗?” 但是还是淡定的回复说“无所谓,哥什么场面没见过,直说吧,别绕弯子了” 但是心里已经开始慌了,哈哈,就是这么脆弱。。。

他说 “我们的 Kafka 集群挂了,磁盘被打满了”,我瞬间心跳飙升,然后他补充说 “好消息是测试环境”,我 ”你在跟我玩过山车吗,以后先说好消息“

虽说这是测试环境,但是还有好多甲方爸爸在用的,我得赶紧在他们开工之前先把环境恢复了呀。

迅速打开电脑,登录环境。。。这个过程中我回忆了一下,我貌似没有处理过这种问题,因为我们的生产环境是有告警的,是不可能让 Kafka 被写满的。

遇事不要慌,更何况是测试环境,。

先看一下监控指标,哦不对,Kafka 集群已经挂了,收集不到指标了。。。看🧶

算了直接登录环境,直截了当,找到数据最多的topic,删数据吧。哦,对了,这里提醒大家,Kafka 中 topic 是一个逻辑概念,真正放数据的地方是 topic 中的 partition。

清理数据

查看数据量较大的 partition

cd /data/kafka
du -h --max-depth=1 | sort -hr | head -10
# 然后根据情况清空 partition
rm -f <partition>/*
# 查看磁盘使用
df -Th

启动 Kafka

sudo systemctl start kafka

查看 Kafka 状态

tail -f /var/log/kafka/server.log

这时候发现了一个 broker 一直打印错误日志,而且无法执行 Kafka 命令行。

[2025-06-24 10:24:43,351] INFO [Admin Manager on Broker 89]: Error processing create topic request CreatableTopic(name='__consumer_offsets', numPartitions=30, replicationFactor=3, assignments=[], configs=[CreatableTopicConfig(name='compression.type', value='producer'), CreatableTopicConfig(name='cleanup.policy', value='compact'), CreatableTopicConfig(name='segment.bytes', value='41943040')]) (kafka.server.ZkAdminManager)
org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 0.

这是一个三节点的 kafka 集群,为什么会有一个启动失败,看日志的信息是这个 broker 认为集群中只有它自己一个broker。那么大概率是与元数据有关系,元数据是存储在 zookeeper 中,那么看一下 zookeeper的状态吧。

排查解决问题

使用如下命令查看每个 zookeeper 集群中每个实例的状态,果然有一个实例的 Zxid 与其他两个是不同的,说明这个 zookeeper 集群发生了脑裂。当时解决问题太匆忙,没有截图。。。

echo stat|nc localhost 2181

解决办法是删除出问题的 zookeeper 的 epoch 文件,然后重启 zookeeper,让它重新加入集群并创建 epoch 文件。

cd /var/lib/zookeeper/version-2/
ls -l|grep Epoch
rm -f acceptedEpoch currentEpoch

重启 zookeeper 后,问题解决,再次查看 zookeeper 集群,已经正常,同时 kafka 集群也恢复正常。
zookeeper 集群状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86741.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86741.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/86741.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python多线程:各线程的输出在控制台中同一行原因分析

代码例子 import threading import timedef error_worker():print("子线程开始")time.sleep(1)raise Exception("子线程出错了&#xff01;")t threading.Thread(targeterror_worker) t.start()print("主线程继续执行&#xff0c;不受子线程异常影响…

Promptify与ReActAgent

一、Promptify 定位&#xff1a;NLP 任务的「自动化流水线」 1. 解决什么问题&#xff1f; 传统 LLM 应用开发痛点&#xff1a; 反复调试&#xff1a;需手工编写/调整 prompt 格式&#xff08;如调整分隔符、示例数量&#xff09;兼容性差&#xff1a;不同模型需重写适配代码…

如何将视频从 iPhone 发送到 Android 设备

如果您想将视频从 iPhone 发送到 Android 设备&#xff0c;尤其是视频尺寸较大时&#xff0c;您需要一种高效的传输方法。本文将为您提供 7 种实用方法&#xff0c;让您轻松发送大型视频文件或短视频片段&#xff0c;并且不会损失视频质量。 第 1 部分&#xff1a;如何通过 iRe…

Stable Diffusion入门-ControlNet 深入理解 第四课:风格迁移与重绘控制模型——让AI也有“艺术天赋”!

大家好&#xff0c;欢迎回到 Stable Diffusion入门-ControlNet 深入理解 系列的第四课&#xff01; 如果你还没有看过上一课&#xff0c;赶紧补课哦&#xff1a;Stable Diffusion入门-ControlNet 深入理解 第三课。 上一课我们讲解了 ControlNet 结构类模型&#xff0c;今天我…

国产鸿蒙系统开放应用侧载,能威胁到Windows地位吗?

上个月华为正式发布了 HarmonyOS PC 操作系统&#xff0c;关于生态方面大家其实一直蛮担心。 例如不兼容Windows应用、不支持应用侧载等。 不过&#xff0c;在最近举行的华为开发者大会 2025 电脑分论坛上&#xff0c;华为终端 BG 平板与 PC 产品线总裁&#xff08;朱懂东&am…

Linux登录检查脚本

登录检查脚本 提高兼容性&#xff08;适应不同Linux发行版&#xff09;增强可视化效果和可读性增加关键资源警戒提示优化表格对齐和颜色使用添加系统安全状态检查 #!/bin/bash# 改进版系统登录提示脚本 # 优化点&#xff1a;兼容性增强、资源警戒提示、表格美化、安全状态检查…

jenkinsfile调用groovy

先决条件 gitlab存放jenkinsfile以及groovy代码,jenkins我个人使用的是2.486具体的部署方法自己搞定,一堆文档. gitlab创建一个devops8项目组以及my-jenkins-demo2项目用于演示过程 创建群组 这里已经创建好相关群组. 进入群组创建新项目 创建一个空白项目 配置项目选项 说明…

Ubuntu20.04离线安装Realtek b852无线网卡驱动

最近有个项目&#xff0c;需要在 Ubuntu20.04 LTS 下开发&#xff0c;首先是安装 Linux&#xff0c;我们可以从下面的网址下载&#xff1a; https://releases.ubuntu.com/20.04/ 本以为一切顺利&#xff0c;结果刚开始就给我整不会了。我的电脑是联想设计师GeekPro7&#xff…

1 Studying《Computer Architecture A Quantitative Approach》5-7

目录 5 Thread-Level Parallelism 5.1 Introduction 5.2 Centralized Shared-Memory Architectures 5.3 Performance of Symmetric Shared-Memory Multiprocessors 5.4 Distributed Shared-Memory and Directory-Based Coherence 5.5 Synchronization: The Basics 5.6 M…

融智兴科技: RFID超高频柔性抗金属标签解析

在当今科技飞速发展的时代&#xff0c; RFID技术凭借其独特的优势&#xff0c;在众多领域得到了广泛应用。然而&#xff0c;在金属环境中&#xff0c;传统RFID标签往往面临着诸多挑战&#xff0c;如信号干扰、识别距离短等问题。融智兴科技推出的RFID 超高频柔性抗金属标签&…

PHP Error: 深入解析与解决策略

PHP Error: 深入解析与解决策略 引言 PHP作为世界上最流行的服务器端脚本语言之一,在全球范围内被广泛使用。然而,在PHP的开发过程中,错误处理是一个非常重要的环节。本文将深入探讨PHP错误处理的相关知识,包括错误类型、错误配置、错误日志以及常见的错误解决策略。 PH…

零基础langchain实战二:大模型输出格式化成json

零基础langchain实战一&#xff1a;模型、提示词和解析器-CSDN博客 书接上文 大模型输出格式化 在下面例子中&#xff1a;我们需要将大模型的输出格式化成json。 import os from dotenv import load_dotenvload_dotenv() # 加载 .env 文件 api_key os.getenv("DEEPS…

高通手机跑AI系列之——人脸变化算法

环境准备 手机 测试手机型号&#xff1a;Redmi K60 Pro 处理器&#xff1a;第二代骁龙8移动--8gen2 运行内存&#xff1a;8.0GB &#xff0c;LPDDR5X-8400&#xff0c;67.0 GB/s 摄像头&#xff1a;前置16MP后置50MP8MP2MP AI算力&#xff1a;NPU 48Tops INT8 &&…

TortoiseSVN 安装教程

前言 TortoiseSVN 是一款流行的 免费开源 的 Subversion (SVN) 客户端&#xff0c;专门为 Windows 操作系统 设计。它通过 Windows 资源管理器集成 提供直观的图形化界面&#xff0c;使用户可以轻松管理版本控制的文件和目录&#xff0c;无需使用命令行。 主要特点 资源管理器…

多张图片生成PDF每张图片生成pdf的一页

需要的库 <!-- 生成pdf--><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.10</version></dependency><!-- https://mvnrepository.com/artifact/commons-net/commons-n…

Java基础 Map集合框架 LinkedHashMap

LinkedHashMap LinkedHashMap类架构与继承关系核心特性继承自 HashMap有序性插入顺序访问顺序 双向链表结构非线程安全1.并发修改导致数据丢失2.并发迭代导致 ConcurrentModificationException3.并发修改导致链表结构破坏解决方案1. 使用 Collections.synchronizedMap&#xff…

MySQL 离线安装MariaDB

描述 离线环境下安装MySQL数据库&#xff0c;也就是MariaDB 操作 1、找到自带的mysql rpm -qa | grep -i ^mysql-rpm -qa | grep -i ^maria-2、卸载对应的包 rpm --nodeps -ev mysql-libs-5.1.73-8.el6_8.x86_64安装 MariaDb 离线安装包官网下载&#xff1a;地址 这个文…

JSON简介及其应用

JSON简介及其应用 A Brief Introduction and Applications of JSON By JacksonML 1. JSON的概念 JSON&#xff08;JavaScript Object Notation&#xff09; 是一种轻量级的数据交换格式&#xff0c;采用键值对&#xff08;key-value&#xff09;的方式组织数据&#xff0c;…

RNN(循环神经网络)与LSTM(长短期记忆网络)输出的详细对比分析

今天在与同事探讨RNN时&#xff0c;引出了一个主题&#xff0c;RNN和LSTM的输出有什么区别。 以下是关于传统RNN&#xff08;循环神经网络&#xff09;与LSTM&#xff08;长短期记忆网络&#xff09;隐藏层内容、输出结果及模型区别的详细对比分析&#xff0c;结合结构原理、数…

【闲谈】技术债:软件开发的隐形杀手

编程中的“技术债”&#xff1a;隐形杀手与化解之道 在软件开发的世界里&#xff0c;我们常谈性能、安全、架构设计、用户体验等话题&#xff0c;但有一个常被忽视的概念却如影随形、悄然吞噬着项目的健康——技术债&#xff08;Technical Debt&#xff09;。 本文将带你深入…