• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Marelbruim
V2EX  ›  程序员

时隔一个月终于解决 be 节点频繁宕机的问题...

  •  
  •   Marelbruim · Jun 26, 2025 · 1631 views
    This topic created in 362 days ago, the information mentioned may be changed or developed.
    bg:op 菜鸟
    1.某一天上线了一个 flink-doris 任务,be 开始突然频繁宕机影响数据。
    2.op 对这方面不是很了解,刚开始误以为是新上传的代码有问题,发现即使把任务下线 be 也会经常宕机。后面发了帖子猜测是内存不够或者 oom ,但是机器内存是很够的;当时 v2 老哥回复说去看看 be 节点的日志,去看了没找到原因(后面才发现 be 的日志路径我找错了,没有找到正确的 be 日志。。。)
    3.于是 op 猜测是版本太老的原因,使用的是 2.0-beta 版本,准备升级到稳定一点的版本。看了网上的文档和教程,先在测试环境试了很久又找了之前搞数据的同学帮忙,终于在前天升级到了 2.1.4 版本。
    4.结果还是一直挂,此刻我真的要疯狂了。这回能找到正确的 be 日志,查看 be.out 宕机的原因,拿到 queryid 去 fe 的日志里定位到是这样一条 sql
    SELECT CONCAT(14256261, '-', -1, '-', 'dev_id') AS `id`,
    0 AS `catalog_id`,
    8106728 AS `db_id`,
    14256261 AS `tbl_id`,
    -1 AS `idx_id`,
    'dev_id' AS `col_id`,
    NULL AS `part_id`,
    644 AS `row_count`,
    644 as `ndv`,
    ROUND(SUM(CASE WHEN `dev_id` IS NULL THEN 1 ELSE 0 END) * 1.0) AS `null_count`,
    SUBSTRING(CAST('----------------' AS STRING), 1, 1024) AS `min`,
    SUBSTRING(CAST('02G0209270008' AS STRING), 1, 1024) AS `max`,
    SUM(LENGTH(`dev_id`)) * 1.0 AS `data_size`,
    NOW()
    貌似是 doris 内部的 sql 统计字段长度?但是直觉让我猜测那个'----------------'肯定有问题 我就把表里这条数据给删了,然后莫名其妙就好了。
    总结:真是莫名其妙的 bug ,莫名其妙的解决方式...
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3166 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:19 · PVG 21:19 · LAX 06:19 · JFK 09:19
    ♥ Do have faith in what you're doing.