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; 
  1. 清理过期分区:

ALTER TABLE tbl DROP PARTITION p202312;

  1. 开启冷热分离(需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);

  1. 检查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

  1. 系统视图查询

-- 查看慢查询

SELECT * FROM information_schema.slow_queries

WHERE query_time > 10;

七、社区资源推荐

  1. 官方诊断工具:

Doris Debug Toolkit(https://github.com/apache/doris/tree/master/tools/debug-tool)

  1. 错误码大全:

官方文档-错误码章节(https://doris.apache.org/zh-CN/docs/dev/admin-manual/error-code/)

  1. 知识库检索:

使用`github.com/apache/doris/issues <关键词>`进行Google搜索

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

相关推荐
凤山老林4 小时前
Spring Boot 集成 Apache Kafka Streams 构建流处理应用:状态存储、窗口聚合与
spring boot·kafka·apache
DolphinScheduler社区18 小时前
Apache DolphinScheduler 8 月报:权限安全加固,调度补火上线,性能与稳定性持续提升
大数据·安全·开源·apache·任务调度·海豚调度
sbjdhjd1 天前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
Jackyzhe2 天前
Apache Iceberg Variant 类型:v3 半结构化数据不再「二选一」
apache
Yeniden2 天前
Java 后端从零到企业级:第1篇 Java 基础语法——变量、数据类型与运算符
java·开发语言·apache
盟道科技4 天前
电商小程序SKU数据模型设计:SPU、规格组合、库存与价格的工程实践
服务器·小程序·apache
A-刘晨阳4 天前
时序数据基础设施选型手册:Apache IoTDB 技术深度解析与性能实战
apache·iotdb
吴声子夜歌5 天前
ApacheCommons——commons-exec(外部进程与系统命令安全执行)
java·安全·apache
qetfw5 天前
Debian 部署 phpMyAdmin:Apache、PHP 与 MariaDB 管理界面配置
linux·debian·php·apache
吴声子夜歌5 天前
ApacheCommons——commons-compress(解压缩工具)
java·apache