手动修复 rabbitmq 报错 “Crash dump is being written to“
rabbitmq 报错:
2023-11-07 16:38:52.682 [error] emulator Error in process <0.368.0> on node 'rabbit@rabbitmq-0.rabbitmq-discovery.openstack.svc.cluster.local' with exit value:
{shutdown,[{mnesia_loader,handle_exit,2,[{file,"mnesia_loader.erl"},{line,963}]},{mnesia_loader,tab_receiver,5,[{file,"mnesia_loader.erl"},{line,440}]},{mnesia_loader,spawned_receiver,8,[{file,"mnesia_loader.erl"},{line,343}]}]}
2023-11-07 16:38:52.683 [error] emulator Error in process <0.367.0> on node 'rabbit@rabbitmq-0.rabbitmq-discovery.openstack.svc.cluster.local' with exit value:
{badarg,[{ets,insert,[mnesia_gvar,{last_error,{{shutdown,[{mnesia_loader,handle_exit,2,[{file,"mnesia_loader.erl"},{line,963}]},{mnesia_loader,tab_receiver,5,[{file,"mnesia_loader.erl"},{line,440}]},{mnesia_loader,spawned_receiver,8,[{file,"mnesia_loader.erl"},{line,343}]}]},[{mnesia_loader,wait_on_load_complete,1,[{file,"mnesia_loader.erl"},{line,359}]},{mnesia_tm,apply_fun,3,[{file,"mnesia_tm.erl"},{line,840}]},{mnesia_tm,execute_transaction,5,[{file,"mnesia_tm.erl"},{line,816}]},{mnesia_loader,init_receiver,5,[{file,"mnesia_loader.erl"},{line,285}]},{mnesia_loader,do_get_network_copy,5,[{file,"mnesia_loader.erl"},{line,221}]},{mnesia_controller,'-load_table_fun/1-fun-4-',5,[{file,"mnesia_controller.erl"},{line,2186}]},{mnesia_controller,'-load_and_reply/2-fun-0-',2,[{file,"mnesia_controller.erl"},{line,2133}]}]}}],[]},{mnesia_lib,set,2,[{file,"mnesia_lib.erl"},{line,443}]},{mnesia_lib,fix_error,1,[{file,"mnesia_lib.erl"},{line,906}]},{mnesia_tm,return_abort,3,[{file,"mnesia_tm.erl"},{line,962}]},{mnesia_loader,init_receiver,5,[{file,"mnesia_loader.erl"},{line,285}]},{mnesia_loader,do_get_network_copy,5,[{file,"mnesia_loader.erl"},{line,221}]},{mnesia_controller,'-load_table_fun/1-fun-4-',5,[{file,"mnesia_controller.erl"},{line,2186}]},{mnesia_controller,'-load_and_reply/2-fun-0-',2,[{file,"mnesia_controller.erl"},{line,2133}]}]}
2023-11-07 16:38:52.685 [info] <0.43.0> Application mnesia exited with reason: stopped
2023-11-07 16:38:52.685 [info] <0.43.0> Application tools exited with reason: stopped
2023-11-07 16:38:52.685 [error] <0.8.0>
Error description:init:do_boot/3init:start_em/1rabbit:start_it/1 line 465rabbit:broker_start/1 line 341rabbit:start_loaded_apps/2 line 586app_utils:manage_applications/6 line 126lists:foldl/3 line 1263rabbit:'-handle_app_error/1-fun-0-'/3 line 709
throw:{could_not_start,ra,{ra,{{shutdown,{failed_to_start_child,ra_system_sup,{shutdown,{failed_to_start_child,ra_log_sup,{shutdown,{failed_to_start_child,ra_log_wal_sup,{shutdown,{failed_to_start_child,ra_log_wal,{{case_clause,{ok,<<>>}},[{ra_log_wal,open_existing,1,[{file,"src/ra_log_wal.erl"},{line,556}]},{ra_log_wal,'-recover_wal/2-lc$^0/1-0-',1,[{file,"src/ra_log_wal.erl"},{line,240}]},{ra_log_wal,recover_wal,2,[{file,"src/ra_log_wal.erl"},{line,243}]},{ra_log_wal,init,1,[{file,"src/ra_log_wal.erl"},{line,186}]},{gen_batch_server,init_it,6,[{file,"src/gen_batch_server.erl"},{line,125}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,249}]}]}}}}}}}}},{ra_app,start,[normal,[]]}}}}
Log file(s) (may contain more information):<stdout>BOOT FAILED
===========Error description:init:do_boot/3init:start_em/1rabbit:start_it/1 line 465rabbit:broker_start/1 line 341rabbit:start_loaded_apps/2 line 586app_utils:manage_applications/6 line 126lists:foldl/3 line 1263rabbit:'-handle_app_error/1-fun-0-'/3 line 709
throw:{could_not_start,ra,{ra,{{shutdown,{failed_to_start_child,ra_system_sup,{shutdown,{failed_to_start_child,ra_log_sup,{shutdown,{failed_to_start_child,ra_log_wal_sup,{shutdown,{failed_to_start_child,ra_log_wal,{{case_clause,{ok,<<>>}},[{ra_log_wal,open_existing,1,[{file,"src/ra_log_wal.erl"},{line,556}]},{ra_log_wal,'-recover_wal/2-lc$^0/1-0-',1,[{file,"src/ra_log_wal.erl"},{line,240}]},{ra_log_wal,recover_wal,2,[{file,"src/ra_log_wal.erl"},{line,243}]},{ra_log_wal,init,1,[{file,"src/ra_log_wal.erl"},{line,186}]},{gen_batch_server,init_it,6,[{file,"src/gen_batch_server.erl"},{line,125}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,249}]}]}}}}}}}}},{ra_app,start,[normal,[]]}}}}
Log file(s) (may contain more information):<stdout>{"init terminating in do_boot",{could_not_start,ra,{ra,{{shutdown,{failed_to_start_child,ra_system_sup,{shutdown,{failed_to_start_child,ra_log_sup,{shutdown,{failed_to_start_child,ra_log_wal_sup,{shutdown,{failed_to_start_child,ra_log_wal,{{case_clause,{ok,<<>>}},[{ra_log_wal,open_existing,1,[{file,"src/ra_log_wal.erl"},{line,556}]},{ra_log_wal,'-recover_wal/2-lc$^0/1-0-',1,[{file,"src/ra_log_wal.erl"},{line,240}]},{ra_log_wal,recover_wal,2,[{file,"src/ra_log_wal.erl"},{line,243}]},{ra_log_wal,init,1,[{file,"src/ra_log_wal.erl"},{line,186}]},{gen_batch_server,init_it,6,[{file,"src/gen_batch_server.erl"},{line,125}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,249}]}]}}}}}}}}},{ra_app,start,[normal,[]]}}}}}
init terminating in do_boot ({could_not_start,ra,{ra,{{shutdown,{_}},{ra_app,start,[_]}}}})Crash dump is being written to: /var/log/rabbitmq/erl_crash.dump...done
修复方法:
(1) 找到 rabbitmq 使用的 pv,例如: rabbitmq-0 的 pod:
# kubectl get pv | grep rabbitmq-0
pvc-70ed48bf-bef8-4658-b530-1fd3a6ef5937 200Gi RWO Delete Bound openstack/rabbitmq-data-rabbitmq-0 ceph-ssd 6d17h
(2) 找到 pv 使用的信息:
# kubectl get pv pvc-70ed48bf-bef8-4658-b530-1fd3a6ef5937 -o yaml
apiVersion: v1
kind: PersistentVolume
metadata:annotations:kubernetes.io/createdby: rbd-dynamic-provisionerpv.kubernetes.io/bound-by-controller: "yes"pv.kubernetes.io/provisioned-by: kubernetes.io/rbdcreationTimestamp: "2023-10-31T15:40:59Z"finalizers:- kubernetes.io/pv-protectionname: pvc-70ed48bf-bef8-4658-b530-1fd3a6ef5937resourceVersion: "7552"uid: 6848417a-dd4f-430c-85e5-f3234a1ac6bf
spec:accessModes:- ReadWriteOncecapacity:storage: 200GiclaimRef:apiVersion: v1kind: PersistentVolumeClaimname: rabbitmq-data-rabbitmq-0namespace: openstackresourceVersion: "4704"uid: 70ed48bf-bef8-4658-b530-1fd3a6ef5937persistentVolumeReclaimPolicy: Deleterbd:image: kubernetes-dynamic-pvc-c8a3585f-dc7b-438c-a22e-cca9d84c341fkeyring: /etc/ceph/keyringmonitors:- ceph-mon.ceph.svc.cluster.local:6789pool: ssdpoolsecretRef:name: pvc-ceph-client-keyuser: adminstorageClassName: ceph-ssdvolumeMode: Filesystem
status:phase: Bound
需要的信息:
image: kubernetes-dynamic-pvc-c8a3585f-dc7b-438c-a22e-cca9d84c341f
(3) 在 pod 节点上查看对应的物理设备
# ssh node-2 rbd showmapped | grep kubernetes-dynamic-pvc-c8a3585f-dc7b-438c-a22e-cca9d84c341f
0 ssdpool kubernetes-dynamic-pvc-c8a3585f-dc7b-438c-a22e-cca9d84c341f - /dev/rbd0
(4) 查看设备挂载目录
# ssh node-2 mount | grep rbd0
/dev/rbd0 on /var/lib/kubelet/plugins/kubernetes.io/rbd/mounts/ssdpool-image-kubernetes-dynamic-pvc-c8a3585f-dc7b-438c-a22e-cca9d84c341f type ext4 (rw,relatime,stripe=1024)
/dev/rbd0 on /var/lib/kubelet/pods/3a37e264-4fd5-4cb8-844b-6b6cd4a6859c/volumes/kubernetes.io~rbd/pvc-70ed48bf-bef8-4658-b530-1fd3a6ef5937 type ext4 (rw,relatime,stripe=1024)
(5) 查找 wal 文件路径,查找的路径来自步骤 (4)
# ssh node-2 find /var/lib/kubelet/pods/3a37e264-4fd5-4cb8-844b-6b6cd4a6859c/volumes/kubernetes.io~rbd/pvc-70ed48bf-bef8-4658-b530-1fd3a6ef5937 -name "*.wal"
/var/lib/kubelet/pods/3a37e264-4fd5-4cb8-844b-6b6cd4a6859c/volumes/kubernetes.io~rbd/pvc-70ed48bf-bef8-4658-b530-1fd3a6ef5937/mnesia/rabbit@rabbitmq-0.rabbitmq-discovery.openstack.svc.cluster.local/quorum/rabbit@rabbitmq-0.rabbitmq-discovery.openstack.svc.cluster.local/00000025.wal
(6) 删除 wal 文件
此步骤请慎重操作,建议将文件备份后再操作。
# ssh node-2 rm -rf /var/lib/kubelet/pods/3a37e264-4fd5-4cb8-844b-6b6cd4a6859c/volumes/kubernetes.io~rbd/pvc-70ed48bf-bef8-4658-b530-1fd3a6ef5937/mnesia/rabbit@rabbitmq-0.rabbitmq-discovery.openstack.svc.cluster.local/quorum/rabbit@rabbitmq-0.rabbitmq-discovery.openstack.svc.cluster.local/00000025.wal
Warning: Permanently added 'node-2' (ED25519) to the list of known hosts.
(7) 删除 pod,重新启动 pod
# kubectl delete pods rabbitmq-0 -n openstack
pod "rabbitmq-0" deleted
等待 pod 再次启动,过一会重新数据同步恢复。
相关文章:
手动修复 rabbitmq 报错 “Crash dump is being written to“
rabbitmq 报错: 2023-11-07 16:38:52.682 [error] emulator Error in process <0.368.0> on node rabbitrabbitmq-0.rabbitmq-discovery.openstack.svc.cluster.local with exit value: {shutdown,[{mnesia_loader,handle_exit,2,[{file,"mnesia_loader.erl"}…...
日志门面技术
1.JCL public abstract class LogFactory {public static Log getLog(Class clazz) throws LogConfigurationException {// 默认实现类为LogFactoryImplreturn getFactory().getInstance(clazz);} }利用LogFactoryImpl实例化具体的日志框架。其中,如果存在log4j依赖…...
机器人制作开源方案 | 管内检测维护机器人
一、作品简介 作者:李泽彬,李晋晟,杜张坤,禹馨雅 单位:运城学院 指导老师:薛晓峰 随着我国的社会主义市场经济的飞速发展和科学技术的革新,各行各业的发展越来越离不开信息化和网络化的…...
k8s存储卷
目录 1、emptyDir存储卷 2、hostPath存储卷 3、nfs共享存储卷 4、PVC 和 PV 4.1 PV和PVC之间的相互作用遵循这个生命周期: 4.2 PV的状态 4.3 一个PV从创建到销毁的具体流程如下: 静态PVC: 动态PVC 1、emptyDir存储卷 当Pod被分配给节…...
View 自定义 - 属性 xml
一、概念 在 xml 中为控件设置的属性。自定义属性名称如果使用系统已定义的,例如 textSize 会在编译时报错。 格式类型定义/使用 string 字符串 <attr name "myContent" format "color" /> android:myContent "Hello Word!&quo…...
2007-2022年全国各地级市金融机构网点数据
2007-2022年地级市金融机构网点数据 1、时间:2007-2022年 2、指标:行政区划代码、年份、城市名称、所属省份、银行网点数量、其中-政策性银行及国家开发银行营业网点占比、其中-商业银行营业网点数量占比、其中-农村金融机构营业网点数量占比 3、范围…...
OpenAI开发者大会掀起风暴:GPT模型价格狂降50%,应用商店即将亮相,AI技术将引爆全球!
OpenAI首届开发者大会召开了! 关键信息: GPT-4升级版GPT-4 Turbo来了,上下文窗口达到128k,为GPT-4的4倍;OpenAI还降低了几乎所有模型的API使用价格,整体便宜了一半多;GPT-4系列的多模态能力向B…...
yo!这里是STL::unordered系列简单模拟实现
目录 前言 相关概念介绍 哈希概念 哈希冲突与哈希函数 闭散列 框架 核心函数 开散列 框架 核心函数 哈希表(开散列)的修改 迭代器实现 细节修改 unordered系列封装 后记 前言 我们之前了解过map和set知道,map、set的底层结构是…...
基础课25——业务流程分析
1.流程的定义&作用 业务流程是企业中一系列创造价值的活动的组合,它是企业运营的基础,也是企业提高效率、优化资源配置的重要手段。通过优化业务流程,企业可以更好地满足客户需求,提高客户满意度,同时也可以提高自…...
快速实现一个企业级域名 SSL 证书有效期监控巡检系统
Why 现在对于企业来说,HTTPS 已经不是可选项,已经成为一个必选项。HTTPS 协议采用 SSL 协议,采用公开密钥的技术,提供了一套 TCP/IP 传输层数据加密的机制。SSL 证书是一种遵守 SSL 协议的服务器数字证书,一般是由权威…...
[SSD综述 1.5] SSD 主控和固件核心功能详解(万字)
依公知及经验整理,原创保护,禁止转载。 1. 主控概述1.1 主控作用 2. 主控的硬件功能和实现2.1 主控处理器2.2 闪存、主机接口2.3 主控纠错2.4 断电保护 3 固件功能3.1 FTL3.2 预留空间(Over-provisioning)3.3 Trim3.4 写入放大(Write amplification)3.5 …...
Mybatis-Plus前后端分离多表联查模糊查询分页
数据准备 数据库配置: /*Navicat Premium Data TransferSource Server : localhost_3306Source Server Type : MySQLSource Server Version : 80100 (8.1.0)Source Host : localhost:3306Source Schema : test01Target Server Type : MySQLT…...
【Ruoyi管理后台】用户登录强制修改密码
近期有个需求,就是需要调整Ruoyi管理后台:用户如果三个月(长时间)未修改过密码,需要在登录时强制修改密码,否则不能登录系统。 一、后端项目调整 从需求来看,我们需要在用户表增加一个字段,用于标记用户最…...
计算机网络基础知识1
1、tcp三次握手? SYN,标志位,用于建立TCP连接的握手过程中的标志位。 ACK,确认位,用于说明整个包是确认报文。 TCP/IP协议是传输层的一个面向连接提供可靠安全的传输协议。第一次握手有客户端发起,客户端向…...
人机交互中的多/变尺度态势感知
人机交互是指在人与计算机之间进行信息交换和任务完成的过程中,通过各种界面和交互方式来实现人机之间的有效沟通和协作。多尺度上下文是人机交互中一个重要的概念,它指的是在不同层次或不同尺度的信息之间建立联系,以便更好地理解和处理信息…...
命名管道原理(和匿名管道的对比),mkfifo(命令行,函数),命名管道模拟实现代码+与多个子进程通信代码
目录 命名管道 引入 原理 和匿名管道的对比 使用 -- mkfifo 命令行指令 创建 文件类型p 使用 函数 函数原型 模拟实现 头文件 客户端代码 服务端代码 运行情况 模拟实现 -- 与多个子进程 介绍 服务端代码: 运行情况 命名管道 引入 匿名管道只能用于父子进程…...
pytest全局变量的使用
这里重新阐述下PageObject设计模式: PageObject设计模式是selenium自动化最成熟,最受欢迎的一种模式,这里用pytest同样适用 这里直接提供代码: 全局变量 conftest.py """ conftest.py 全局变量,主要实…...
FreeRTOS源码阅读笔记2--list.c
list.c中主要完成列表数据结构的操作,有列表和列表项的初始化、列表的插入和移除。 2.1列表初始化vListInitialise() 2.1.1函数原型 void vListInitialise( List_t * const pxList ) pxList:列表指针,指向要初始化的列表。 2.1.2函数框架…...
杂货铺 | citespace的使用
安装教程 【CiteSpace保姆级教程1】文献综述怎么写? 📚数据下载 1. 新建文件夹 2. 数据下载 知网高级检索 数据选中导出 :一次500 导出后重命名为download_xxx.txt,放到input文件里 3. 数据转换 把output里的数据复制到data里…...
C++ 静态成员变量初始化规则
每一天一个小trick!! 为什么静态成员不能在类内初始化? 在C中,类的静态成员(static member)必须在类内声明,在类外初始化,像下面这样。 class A { private: static int count …...
深入解析STM32 SysTick定时器:从原理到时间片轮询实战
1. SysTick定时器的前世今生 第一次接触STM32的开发板时,我就被这个叫做SysTick的神秘定时器吸引了。当时我正为如何实现精确延时发愁,GPIO翻转测试显示软件延时误差高达30%,直到一位资深工程师提醒我:"内核里就藏着个高精度…...
Android Studio 高版本兼容低版本项目配置
AndroidStudio开发工具高版本兼容低版本项目配置:1、 JDK 配置:gradle.properties 文件中指定jdk 版本:org.gradle.java.homeD\:\\ProgramFiles\\JDK\\jdk-11.0.262 配置Gradle 编译版本:3. 显示所有Gradle task 列表设置完成后&a…...
ClickHouse配置优化实战:关键参数详解与性能调优指南
1. ClickHouse配置优化的核心逻辑 ClickHouse作为一款高性能的OLAP数据库,其配置优化需要遵循三个黄金法则:资源隔离、瓶颈定位和场景适配。我见过太多团队一上来就盲目调整参数,结果反而导致性能下降。正确的做法应该是先理解系统行为&#…...
【Java Web学习 | 第十篇】JavaScript(4) 对象
【Java Web学习 | 第十篇】JavaScript(4) - 对象(Object)深度详解(2026最新版) 恭喜你完成数组与函数进阶! 对象(Object) 是 JavaScript 中最重要、最核心的数据结构。在 Java Web 开发中&…...
Dankoe新作《使命与收益》读书笔记 7|你不是迷茫,你只是不敢面对真正的自己
"我不知道自己想要什么。" 这大概是30岁前后最常说的一句话。辞职不敢,创业不会,留下来又不甘心。于是我们把迷茫当成一种身份,穿在身上,仿佛承认迷茫就不必为停滞负责。 但Dan Koe在《使命与收益》里说了一句扎心的话…...
如何用anyRTC-RTMP-OpenSource打造个性化直播数据源:自定义视频采集完整指南
如何用anyRTC-RTMP-OpenSource打造个性化直播数据源:自定义视频采集完整指南 【免费下载链接】anyRTC-RTMP-OpenSource RTMP 推流器,RTMP(HLS)秒开播放器,直播点播,跨平台(Win,IOS,Android)开源代码 项目…...
DAMO-YOLO在工地安全监管中的应用:防护装备检测系统
DAMO-YOLO在工地安全监管中的应用:防护装备检测系统 1. 工地安全监管的现实挑战 建筑工地从来都不是一个安静的场所。钢筋切割的刺耳声、塔吊运转的轰鸣、混凝土泵车的震动,这些声音背后是数百名工人同时作业的复杂场景。就在这样的环境中,…...
Granite TimeSeries FlowState R1高可用部署架构:基于Kubernetes的容器化方案
Granite TimeSeries FlowState R1高可用部署架构:基于Kubernetes的容器化方案 如果你正在为时间序列预测模型的生产部署而头疼,担心服务不稳定、无法应对流量高峰,那么这篇文章就是为你准备的。今天,我们来聊聊如何把一个强大的时…...
Swin2SR效果实测:处理含文字区域图像时的可读性保持能力专项测试
Swin2SR效果实测:处理含文字区域图像时的可读性保持能力专项测试 1. 测试背景与目的 在日常工作和生活中,我们经常会遇到一些低分辨率、模糊不清的图片,特别是那些包含文字的图像。无论是扫描的文档、网页截图,还是老照片中的文…...
从手动压枪到智能辅助:探索罗技鼠标宏在PUBG中的进化之路
从手动压枪到智能辅助:探索罗技鼠标宏在PUBG中的进化之路 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 当你在绝地求生的激烈对枪中…...
