StarRocks BE宕机排查

StarRocks BE宕机排查

排查是否OOM

dmesg -T|grep -i oom #排查是否oom

原因:

2.X版本OOM原因

  • BE 的配置文件 (be.conf) 中 mem_limit 配置不合理,需要配置mem_limit=(机器总内存-其他服务占用内存-1~2g(系统预留))

比如机器内存40G,上面有个Mysql,理论上限会用4G,那么配置下mem_limit=34G (40-4-2)

排查系统参数

一般先检查下系统参数配置是否合理,建议参考 https://docs.starrocks.io/zh/docs/deployment/environment_configurations/ 配置。

尤其需要关注ulimit、overcommit和swap参数,检查方式如下

ulimit检查

需要关注max processes和max open files,需要确保>=65535

ulimit -a #查看系统配置
cat /proc/$be_pid/limits #查看be进程配置

overcommit检查

以下值应该为 1

cat /proc/sys/vm/overcommit_memory

swap检查

以下值应该为 0,确保关闭swap

cat /proc/sys/vm/swappiness

排查BE日志

如上参数配置正确的前提下,如果还存在crash,当前crash都会在be.out中打印异常栈

首先获取be.out

# less be.outquery_id:0862041d-07bd-11f0-9214-005056853513, fragment_instance:0862041d-07bd-11f0-9214-005056853518..............*** Aborted at 1742716891 (unix time) try "date -d @1742716891" if you are using GNU date ***
PC: @          0x527d26b starrocks::SegmentIterator::_finish_late_materialization()
*** SIGSEGV (@0x0) received by PID 22176 (TID 0x7f06987b1700) from PID 0; stack trace: ***@          0x688b642 google::(anonymous namespace)::FailureSignalHandler()@     0x7f089e584630 (unknown)@          0x527d26b starrocks::SegmentIterator::_finish_late_materialization()@          0x5288648 starrocks::SegmentIterator::_do_get_next()@          0x528aa30 starrocks::SegmentIterator::do_get_next()@          0x530e573 starrocks::ProjectionIterator::do_get_next()@          0x5994675 starrocks::SegmentIteratorWrapper::do_get_next()@          0x57c62d3 starrocks::TimedChunkIterator::do_get_next()@          0x5341706 starrocks::TabletReader::do_get_next()@          0x3b0271b starrocks::pipeline::OlapChunkSource::_read_chunk_from_storage()@          0x3b02e42 starrocks::pipeline::OlapChunkSource::_read_chunk()@          0x3afba17 starrocks::pipeline::ChunkSource::buffer_next_batch_chunks_blocking()@          0x37c0c38 _ZZN9starrocks8pipeline12ScanOperator18_trigger_next_scanEPNS_12RuntimeStateEiENKUlvE_clEv@          0x38d4c91 starrocks::workgroup::ScanExecutor::worker_thread()@          0x2ed30ec starrocks::ThreadPool::dispatch_thread()@          0x2ecc7ba starrocks::Thread::supervise_thread()@     0x7f089e57cea5 start_thread@     0x7f089d97d9fd __clone@                0x0 (unknown)
  1. 可先通过关键去常见 Crash / BUG 堆栈查询 搜索(上面关键字是 _finish_late_materialization),判断是不是已知问题;
  2. 根据query_id去fe审计日志查找sql;

参考:https://forum.mirrorship.cn/t/topic/4930

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

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

相关文章

逻辑回归(Logistic Regression)模型的概率预测函数

以二分类问题为例,常见的损失函数有 负对数似然损失(neg log-likelihood loss),交叉熵损失(cross entropy loss),deviance loss指数损失(exponential loss)。 前三者虽然名字不同,但却具有相同的表达形式。此外,neg …

函数式组件中的渲染函数 JSX

在 Vue.js 和 React 等现代前端框架中,函数式组件已成为一种非常流行的设计模式。函数式组件是一种没有内部状态和生命周期方法的组件,其主要功能是接受 props 并渲染 UI。随着这些框架的演进,渲染函数和 JSX(JavaScript XML&…

Android 动态设置默认Launcher(默认应用 电话-短信-浏览器-主屏幕应用))

Android 动态设置默认Launcher(默认应用 电话-短信-浏览器-主屏幕应用)) 文章目录 场景需求参考资料思路期待效果 实现方案源码流程分析和思路实现DefaultAppActivityHandheldDefaultAppFragmentHandheldDefaultAppPreferenceFragmentDefaultAppChildFragmentDefaul…

Qt下载模板到本地文件内容丢失问题

上源码 关键点已标注在源码中 A, B… // 保存的文件路径后缀QString dateTime Myapp::getCurrentTimeDescYMDHms().replace(" ", "").replace("-", "").replace(":", "");// 临时文件名称QString newFileName Q…

【数学建模】动态规划算法(Dynamic Programming,简称DP)详解与应用

动态规划算法详解与应用 文章目录 动态规划算法详解与应用引言动态规划的基本概念动态规划的设计步骤经典动态规划问题1. 斐波那契数列2. 背包问题3. 最长公共子序列(LCS) 动态规划的优化技巧动态规划的应用领域总结 引言 动态规划(Dynamic Programming,简称DP)是一…

蓝桥杯备考------>双指针(滑动窗口)

来看哈我们这道例题 我们第一种想法应该就是暴力求解,枚举每个子数组 当我们枚举第一个数的时候,我们要从第一个数开始挨个枚举每个结尾 如图,以第一个数开头的最长不重复数我们就枚举完了 然后我们让两个指针全部到第二个数 再枚举第二个…

python实现股票数据可视化

最近在做一个涉及到股票数据清洗及预测的项目,项目中需要用到可视化股票数据这一功能,这里我与大家分享一下股票数据可视化的一些基本方法。 股票数据获取 目前,我已知的使用python来获取股票数据方式有以下三种: 爬虫获取,实现…

【15】Selenium 爬取实战

一、selenium适用场景 二、爬取目标 三、爬取列表页 (1)初始化 (2)加载列表页 (3)解析列表页 (4)main 四、爬取详情页 (1)加载详情页 (2…

如何封装一个上传文件组件

#今天用el-upload感到很多不方便,遂决定自己封装一个。注:本文不提供表面的按钮样式和文件上传成功后的样式,需要自己创建。本文仅介绍逻辑函数# 1,准备几个表面用来指引上传的元素 2,创造统一的隐藏文件上传输入框&…

【计网】数据包

期末复习自用的,处理得比较草率,复习的同学或者想看基础的同学可以看看,大佬的话可以不用浪费时间在我的水文上了 1.数据包的定义: 数据包是网络通信中的基本单元,它包含了通过网络传输的所有必要信息。数据包的结构…

HTTP抓包Websocket抓包(Fiddler)

近期时常要和各个厂商的java云平台打交道:登录、上传、下载等,程序的日志虽必不可少,但前期调试阶段,免不了遇到问题,这时有一个称手的抓包工具就显得尤为重要了。 Fiddler Everywhere是一款跨平台的网络调试工具&…

Git和GitCode使用(从Git安装到上传项目一条龙)

第一步 菜鸟教程-Git教程 点击上方链接,完成Git的安装,并了解Git 工作流程,知道Git 工作区、暂存区和版本库的区别 第二步 GitCode官方帮助文档-SSH 公钥管理 点击上方链接,完成SSH公钥设置 第三步(GitCode的官方引…

基于 WebAssembly 的 Game of Life 交互实现

一、前言 在前期的实现中,我们使用 Rust 编写核心逻辑,并通过 WebAssembly 将其引入到 Web 环境中,再利用 JavaScript 进行渲染。接下来,我们将在这一基础上增加用户交互功能,使模拟过程不仅能够自动演化,…

【keil】单步调试

一、步骤 1、打开stc-isp软件 2.打开keil仿真设置,选择对应的单片机型号 3.点击将所选目标单片机设置为仿真芯片,点击下载,按一下单片机打下载按钮 4.此时已经将仿真程序下载到单片机 5.此时点击options,找到debug选择STC Montor 51 Driv…

c++弱指针实现原理

在 C 中,弱指针(std::weak_ptr)是一种特殊的智能指针,其核心目标是‌解决 std::shared_ptr 的循环引用问题‌,同时不增加对象的引用计数。它的实现原理基于与 std::shared_ptr 共享的 ‌控制块(Control Blo…

【ManiSkill】环境success条件和reward函数学习笔记

1. “PickCube-v1” info["success"]:用于指示任务是否成功完成 布尔型张量,在环境的evaluate()方法中计算并返回: "success": is_obj_placed & is_robot_static这确保了机器人不仅能将物体准确放置在目标位置&am…

用空闲时间做了一个小程序-二维码生成器

一直在摸鱼中赚钱的大家好呀~ 先向各位鱼友们汇报一下情况,目前小程序已经有900的鱼友注册使用过。虽然每天都有新的鱼友注册,但是鱼友增长的还很缓慢。自从国庆前的文字转语音的工具上线到现在已经将近有1个月没有更新小程序了。但是今天终终终终终于又…

31天Python入门——第14天:异常处理

你好,我是安然无虞。 文章目录 异常处理1. Python异常2. 异常捕获try-except语句捕获所有的异常信息获取异常对象finally块 3. raise语句4. 自定义异常5. 函数调用里面产生的异常补充练习 异常处理 1. Python异常 Python异常指的是在程序执行过程中发生的错误或异…

PyQt6实例_批量下载pdf工具_使用pyinstaller与installForge打包成exe文件

目录 前置: 步骤: step one 准备好已开发完毕的项目代码 step two 安装pyinstaller step three 执行pyinstaller pdfdownload.py,获取初始.spec文件 step four 修改.spec文件,将data文件夹加入到打包程序中 step five 增加…

Axure项目实战:智慧城市APP(完整交互汇总版)

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 课程主题:智慧城市APP 主要内容:主功能(社保查询、医疗信息、公交查询等)、活动、消息、我的页面汇总 应用场景&#xff…