Linux下怎么部署Doris分布式数据库

胖涛大大_5546

胖涛大大_5546

2026-06-30

849人浏览

原创

be启动失败主因是文件描述符限制过小或priority_networks配置错误:需永久修改/etc/security/limits.conf添加“ soft nofile 655360”和“ hard nofile 655360”,并确保fe与be的priority_networks配置一致且覆盖实际ip网段。

linux下怎么部署doris分布式数据库

BE 启动失败,八成是 ulimit -n 没调够,或者 priority_networks 配错了——这两项不解决,后面全白搭。

BE 启动报 “file descriptors limit is too small” 怎么办

这是 Doris 部署最常卡住的第一步。BE 进程启动时会硬校验系统可打开文件数,ulimit -n 默认值(通常是 1024)远低于 Doris 要求的 60000,直接退出并报错:

E1128 03:45:46.852288 24097 storage_engine.cpp:426] File descriptor number is less than 60000. Please use (ulimit -n) to set a value equal or greater than 60000

临时生效只对当前 shell 有效,生产环境必须永久修改:

Browser Setup (No-Root Linux)
Browser Setup (No-Root Linux)

在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...

下载
  • 编辑 /etc/security/limits.conf,追加两行:
    * soft nofile 655360
    * hard nofile 655360
  • 注意:* 表示所有用户,包括运行 be 进程的用户(如 doris 或 root)
  • 改完需重新登录或重启系统才对所有会话生效;仅执行 ulimit -n 65536 不足以支撑长期运行
  • 额外建议同步调整:* soft nproc 655350 和 * hard nproc 655350,避免线程数限制引发后续问题

FE 和 BE 互相“看不见”,大概率是 priority_networks 配得不对

Doris 不靠 hostname 自动发现节点,而是依赖 priority_networks 显式声明本机用于通信的网段。FE 和 BE 必须配同一物理网络,且掩码要能覆盖实际上报 IP。

  • 在 fe.conf 和 be.conf 中都必须添加这一行(按你服务器真实网段替换):
    priority_networks = 192.168.10.0/24
  • 常见错误:
    只配 FE、漏配 BE → BE 启动后无法注册到 FE
    掩码写成 192.168.10.21/32 → BE 上报心跳用的 IP 不在该网段内,FE 拒收
    多网卡环境没指定唯一网段 → BE 可能用错网卡 IP 上报,FE 日志里出现 “unregistered host”
  • 验证方法:启动 BE 后,查 be.INFO 日志,确认 register to frontend 行里上报的 IP 是否落在 priority_networks 掩码范围内

ALTER SYSTEM ADD BACKEND 执行后 Alive=false,先核对这两项

BE 启动成功 ≠ 加入集群成功。必须手动执行 SQL 注册,且参数必须和 be.conf 完全一致:

ALTER SYSTEM ADD BACKEND "192.168.10.21:9050";
  • 192.168.10.21:必须是 priority_networks 掩码覆盖下的本机 IP(不能是 0.0.0.0,也不能是 Docker bridge IP)
  • 9050:必须等于 be.conf 中的 heartbeat_service_port(默认是 9050,但若改过就必须用改后的值)
  • 执行后查 SHOW PROC '/backends';,如果 Alive 是 false,优先翻 FE 的 fe.warn.log,看是否有 connect refused 或 timeout —— 这比反复重启 BE 更快定位问题

真正容易被忽略的是:BE 启动前必须关 swap(swapoff -a + 注释 /etc/fstab),且 vm.max_map_count 至少设为 2048000;这些在单点部署时可能侥幸跑通,但在多节点或高并发场景下会突然崩在 compaction 阶段。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1933

5

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.07

2754

5

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

2445

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

3741

10

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

2023.08.31

2651

3

MySQL恢复数据库
MySQL恢复数据库

MySQL恢复数据库的方法有使用物理备份恢复、使用逻辑备份恢复、使用二进制日志恢复和使用数据库复制进行恢复等。本专题为大家提供MySQL数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.05

887

5

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

2367

5

数据库对象名无效怎么解决
数据库对象名无效怎么解决

数据库对象名无效解决办法:1、检查使用的对象名是否正确,确保没有拼写错误;2、检查数据库中是否已存在具有相同名称的对象,如果是,请更改对象名为一个不同的名称,然后重新创建;3、确保在连接数据库时使用了正确的用户名、密码和数据库名称;4、尝试重启数据库服务,然后再次尝试创建或使用对象;5、尝试更新驱动程序,然后再次尝试创建或使用对象。

2023.10.16

2387

4

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

2023.10.16

2813

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习