当前位置: 首页 > news >正文

Apache Doris 高频问题排查指南:从报错到性能优化

一、部署与配置问题

1. FE启动失败:Address already in use

ERROR: fe.journal.Catalog constructor exception. port=9010 is already used.

原因:端口被占用或残留进程未释放
解决

# 查找占用进程
lsof -i :9010  
# 终止残留进程
kill -9 <PID>
# 清理元数据(谨慎操作)
rm -rf doris-meta/image/*

2. BE节点无法加入集群

现象:BE注册后状态异常(Alive = false)
排查步骤

  1. 检查BE日志(be.INFO)是否存在硬件不匹配告警

  2. 确认FE的priority_networks配置与BE节点IP匹配

  3. 验证网络连通性  telnet FE_IP 9030  telnet FE_IP 9020

二、数据操作问题

3. 数据导入失败:-235错误

报错信息
Message: Delta label's state=LABEL_ALREADY_USED

原因:重复提交相同Label的导入任务
解决方案

-- 查询最近10个导入任务
SHOW LOAD WHERE LABEL LIKE "mylabel%" LIMIT 10;
-- 清理已完成任务
CANCEL LOAD FROM db WHERE LABEL = "mylabel";

4. 内存不足导致导入中断

现象Memory limit exceeded
优化方案

  1. 调整BE内存参数(be.conf):

mem_limit=80%  # 物理内存的百分比
load_process_max_memory_limit_bytes=107374182400  # 单节点最大100G

三、查询性能问题

5. 查询响应慢:未命中分区/分桶

排查工具

EXPLAIN SELECT * FROM tbl WHERE dt='2024-01';

优化建议

  • 确认WHERE条件包含分区键(PARTITION BY RANGE)

  • 分桶数推荐:BE节点数 * 磁盘数 * 10(如3节点*2磁盘→60 buckets)

6. 高并发查询触发流控

现象Reach limit of connections
调优方法

  1. FE配置(fe.conf):

qps_max_limit=5000

     2.启用资源隔离:

CREATE RESOURCE_GROUP query_group 
TO (user='analyst') 
WITH ("cpu_share"="50","mem_limit"="30%");

四、元数据与运维问题

7. 磁盘空间不足报警

处理流程

1.检查数据分布:

SHOW PARTITIONS FROM tbl; 

2. 清理过期分区:

ALTER TABLE tbl DROP PARTITION p202312;

3. 开启冷热分离(需2.0+版本):

ALTER TABLE tbl SET ("storage_policy"="cold_hdd");
 

8. 副本不一致导致查询错误
检测命令:
curl http://BE_IP:8040/api/check

修复步骤:  
1. 手动触发副本修复:

ADMIN REPAIR TABLE tbl PARTITION(p1);

2. 检查BE日志确认同步进度

五、典型错误代码速查

| 错误码 | 含义                  | 处理建议                     |
|--------|---------------------|--------------------------|
| -200   | 元数据写入失败            | 检查FE磁盘空间,重启FE           |
| -400   | 查询超时                | 增大`query_timeout`参数       |
| -903   | 权限不足                | GRANT SELECT ON db.tbl TO user |
| -1010  | 函数参数不匹配            | 检查函数签名,如`date_format`格式   |

 六、调试工具链

1. 日志定位技巧
- **FE关键日志**:fe/log/fe.warn.log(搜索`WARN`/`ERROR`)
- **BE性能分析**:  

perf record -p $(pidof doris_be) -g -- sleep 30
 

 2. 系统视图查询

-- 查看慢查询
SELECT * FROM information_schema.slow_queries 
WHERE query_time > 10;

七、社区资源推荐
1. 官方诊断工具:  
   [Doris Debug Toolkit](https://github.com/apache/doris/tree/master/tools/debug-tool)
2. 错误码大全:  
   [官方文档-错误码章节](https://doris.apache.org/zh-CN/docs/dev/admin-manual/error-code/)
3. 知识库检索:  
   使用`github.com/apache/doris/issues <关键词>`进行Google搜索

重要提示:遇到问题时建议先执行`SHOW PROC "/current_queries"`查看当前系统状态,70%的问题可通过日志和现有监控指标快速定位。如遇复杂问题,建议携带`fe.log`和`be.INFO`日志提交社区工单。

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

    相关文章:

  1. [ C++ ] | C++11 从左值引用到右值引用
  2. 网络安全之超强Linux信息收集:渗透测试与应急响应的基石(命令超强集合工作手册)
  3. HashMap、HashTable 与 ConcurrentHashMap 的区别
  4. 从入门到精通【 MySQL】 数据库约束与设计
  5. 小学数学解题方法专题3-列表法-提升2
  6. MySQL 8.X 仅迁移非系统数据库账号和权限信息
  7. 工地扬尘监测仪:守护蓝天白云的重要工具
  8. golang的database.sql包和事务处理
  9. JAVA实战开源项目:体育馆使用预约平台(Vue+SpringBoot) 附源码
  10. 音视频学习(三十一):DASH协议
  11. 测试用例管理工具
  12. Opencv计算机视觉编程攻略-第四节 图直方图统计像素
  13. tsconfig.json:error TS6306: Referenced project ‘/tsconfig.node.json‘
  14. (二)GEE基础学习初探及案例详解【20250330】
  15. .global
  16. Nginx — Nginx处理Web请求机制解析
  17. 华为数字化转型-方法篇
  18. 记一个很简单的错误
  19. 蓝桥杯备赛:力扣刷题——寻找两个正序数组中的中位数
  20. 最长子序列
  21. HTML中的<form>表单及其元素
  22. 17.C语言数组
  23. 常见的响应头信息
  24. Pinia的安装,使用,与情景教学
  25. Excel 使用技巧:excel 合并不同列内容; excel 将公式转化为文本
  26. 《嫦娥的月球物联网》
  27. Day 4 系统总线(2)
  28. ubuntu开发mcu环境
  29. 基于kubernetes技术实现蓝绿部署(企业实战)
  30. Java音频和录音合成 实战demo