Debian 12 下一台服务器搞定!手把手教你部署 Doris 3.0(图文详解)

本文将详细介绍如何在 Debian 12 上部署 Apache Doris 3.0,包括下载、安装、配置及常见问题排查,适用于测试、学习与轻量生产环境。


🧩 一、安装所在环境

  • 系统:Debian 12
  • 内存:16GB
  • Java:java-17-openjdk-amd64
  • Python:Python 3.12

📥 二、Doris 3.0 下载

官方下载地址:

👉 https://doris.apache.org/download/

下载并解压:

wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-3.0.6.2-bin-x64.tar.gz
tar -xvf apache-doris-3.0.6.2-bin-x64.tar.gz

目录结构如下:

apache-doris-3.0.6.2-bin-x64/
├── be
├── extensions
├── fe
├── ms
└── tools


⚙️ 三、配置 Doris FE(Frontend)

编辑 fe/conf/fe.conf

priority_networks = 127.0.0.1/32
meta_dir = /data/doris/fe/meta
http_port = 8030
rpc_port = 9010
query_port = 9030
edit_log_port = 9010

📌 注意事项:

  • meta_dir 可不配,默认存放在fe目录下doris-meta
  • priority_networks 应设置为本机所在网段
  • 其他四项默认都会配置,确认端口号不冲突,可忽略

创建元数据目录:

sudo mkdir -p /data/doris/fe/meta
sudo chown -R $USER:$USER /data/doris/fe

⚙️ 四、配置 Doris BE(Backend)

编辑 be/conf/be.conf

storage_root_path = /data/doris/be/storage
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/
priority_networks = 192.168.1.100/24
heartbeat_service_port = 9050
webserver_port = 8040
brpc_port = 8060

📌 注意事项:

  • storage_root_path 可不配,默认存放在be目录下storage
  • JAVA_HOME这项最好配置了
  • priority_networks 应设置为本机所在网段
  • 其他四项默认都会配置,确认端口号不冲突,可忽略

创建存储路径:

sudo mkdir -p /data/doris/be/storage
sudo chown -R $USER:$USER /data/doris/be

🚀 五、启动 Doris 服务

启动 FE:

cd doris/fe
./bin/start_fe.sh --daemon

查看状态:

curl http://localhost:8030

或者在浏览器中输入http://<fe_ip>:<fe_port>,默认用户名是root,没有密码

启动 BE:

cd ../be
./bin/start_be.sh --daemon

🔧 六、注册 BE 到 FE

登录 FE Web 界面:

访问 http://localhost:8030

默认账户:

用户名: root
密码: (空)

添加 BE 节点:

ALTER SYSTEM ADD BACKEND "本机IP:9050";

验证:

SHOW BACKENDS;

🧪 七、测试表与查询

CREATE DATABASE test;
USE test;

CREATE TABLE t1 (
    id INT,
    name STRING
) DISTRIBUTED BY HASH(id) BUCKETS 1
PROPERTIES("replication_num" = "1");

INSERT INTO t1 VALUES (1, 'Doris'), (2, 'StarRocks');

SELECT * FROM t1;

🛠️ 八、常见问题排查(增强版)

1. FE 启动后无法访问 Web UI(8030 端口)

可能原因:

  • FE 没有成功启动
  • 端口 8030 被占用

解决:

  • 查看日志:fe/log/fe.out
  • 检查端口:lsof -i:8030
  • 若被占用,修改 fe.conf 中的 http_port

2. BE 启动时报 brpc 端口冲突

解决:

修改 be.conf 中的 brpc_port,避免端口冲突,例如:

brpc_port = 8061

3. 启动be报错:Set kernel parameter ‘vm.max_map_count’ to a value greater than 2000000

原因:系统内核参数 vm.max_map_count 设定得太低了,Doris BE 运行需要它设置为大于 2000000

解决:

  1. 临时修改(重启后失效)
    执行命令:

    sudo sysctl -w vm.max_map_count=2000000
  2. 永久生效
    编辑 /etc/sysctl.conf,添加:

    vm.max_map_count=2000000

    然后执行:

    sudo sysctl -p
  3. 验证设置

    sysctl vm.max_map_count

    输出应为:

    vm.max_map_count = 2000000

    调整好后,重新启动 Doris BE 即可。


4. 建表时报错:replication num should be less than the number of available backends

原因:当前只有一个 BE 节点,replication_num 设置过大。
解决: 将建表语句中的副本数设置为 1


5. BE 状态为 dead

可能原因:

  • priority_networks 配置错误
  • 网络不通
  • 防火墙拦截心跳端口

解决:

  • 确保 IP 段匹配,配置如:192.168.1.0/24
  • 放通 9050/8040/8060 端口
  • 检查 FE 日志是否提示 heartbeat timeout

6. FE 页面看不到 BE 节点

可能原因:

  • BE 未正确注册
  • 网络通信异常

解决:

  • 使用 SQL 添加 BE:

    ALTER SYSTEM ADD BACKEND "192.168.1.100:9050";
  • 查看 FE 日志检查注册过程是否失败


7. Web 页面加载异常或空白

解决:

  • 清除浏览器缓存或使用无痕模式

  • 使用 curl 验证是否返回页面:

    curl http://localhost:8030

8. 创建表时报语法错误

Doris 与 MySQL 存在语法差异,建表需指定:

  • 分布策略:DISTRIBUTED BY HASH(...)
  • 副本数:PROPERTIES("replication_num" = "1")

9. 插入后查不到数据

排查:

  • 当前数据库是否正确?
  • 表是否创建成功?

解决:

USE test;
SHOW TABLES;
SELECT COUNT(*) FROM t1;

10. Doris 无法写日志或创建元数据目录

原因: 配置路径权限不足或路径不存在。

解决:

sudo chown -R $USER:$USER /data/doris
chmod -R 755 /data/doris

11. 无法判断 Doris 是否正常运行

推荐检查命令:

ps -ef | grep doris
netstat -tunlp | grep -E "8030|9030|9010|8040|9060|9050"
tail -f fe/log/fe.out
tail -f be/log/be.out

🧭 九、部署结构图

        +-------------------------+
        |         User           |
        +-----------+------------+
                    |
                    v
          +---------+----------+
          |         FE         |
          |  Web UI (8030)     |
          |  MySQL (9030)      |
          +---------+----------+
                    |
        +-----------+------------+
        |                        |
+-------+-------+        +-------+-------+
|      BE       |        |   (更多 BE)   |
|  RPC: 9060    |        |               |
|  Web: 8040    |        +---------------+
+---------------+

✅ 十、总结

  • 本文基于 Debian 12 + Java 17 + Python 3.12,完整展示了 Doris 3.0 的单机部署流程
  • 配置重点包括端口冲突、路径权限、网络段匹配
  • 推荐用于本地测试或轻量生产场景

如需支持集群部署、高可用、Broker、数据导入导出等,请参考官方文档或后续进阶教程