BE崩溃后无法启动

为了更快的定位您的问题,请提供以下信息,谢谢
【详述】3个BE节点异常退出后,无法启动
【背景】
开发进行update全表一个字段值,导致三个BE均崩溃(进程退出)。对BE进行启动时,无法启动。
BE配置限制使用30G内存

mem_limit = 30G

以下时崩溃时,BE INFO的日志(详细查看附件)


以下是BE WARNING的日志(详细查看附件)

FE进程正常 BE启动几秒后提示killed(被内核OOM killed)

启动BE时 out日志。

启动BE前系统内存占用情况。

linux内核有be的oom信息(be限制10G 和20G 都会有oom)

BE配置

FE配置

【业务影响】影响所有涉及使用StarRocks系统(所有业务)。
【是否存算分离】否
【StarRocks版本】3.2.6
【集群规模】3fe(1 LEADER+2FOLLOWER)+3be(fe与be混部)
【机器信息】12C/38G/万兆
【联系方式】社区群17- Kay,谢谢
【附件】

  • fe.log/beINFO/相应截图 上面已提供
    附件过大请在群内联系
  • 慢查询:
    • Profile信息
    • 并行度:show variables like ‘%parallel_fragment_exec_instance_num%’;
    • pipeline是否开启:show variables like ‘%pipeline%’;
    • be节点cpu和内存使用率截图
  • 查询报错:
  • be crash
  • 外表查询报错
    • be.out和fe.warn.log

和fe混合部署,be内存最大能开到28g吧,30g没给系统预留了

BE limit mem设置为30G 实际限制为30G*90%=27G
FE 最大可使用8G
满打满算 27+8=35G 还可以给系统留3G
应该是够的哦

没太明白,be限制为啥*0.9

您可以尝试设置be men limit 为一个固定值 然后看实际页面上显示的值,以及查看BE配置项的官方文档
image

看了下代码,mem_limit*0.9是软限制

不过你说的mem_limit配置为20g也oom不太合理

看下mem_tracker里面的各个模块内存是多少
另外当时be日志里面搜下"Current memory statistics",15秒采集一次

是的 我设置成20G 以及10G be都起不来,内核都有oom记录,内核文件发到群里过

oom 具体来说 第一次崩溃有 heartbeat mgr invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=0

后面启动不来崩溃的

具体可以到上面说的群内看看内核日志

我们分为两个阶段讨论这个问题
第一个是3个BE同时崩溃
第二个是3个BE都起不来

以下是BE同时崩溃前的Current memory statistics

mem_tracker 就当作我们目前还启动不了BE 无法查看来处理