0

0

Doris的单机部署与安装

舞姬之光

舞姬之光

发布时间:2025-01-17 19:18:13

|

1282人浏览过

|

来源于php中文网

原创

Doris的单机部署与安装

一、Doris概述

Doris 作为一款开源的 MPP 架构 OLAP 数据库,能够运行在绝大多数主流的商用服务器上。为了能够充分运用 MPP 架构的并发优势,以及 Doris 的高可用特性,我们建议 Doris 的部署遵循以下需求:

Doris的单机部署与安装

Linux 操作系统版本需求:

Linux 系统

版本

CentOS

7.1 及以上

Ubuntu

16.04 及以上

软件需求:

软件

版本

Java

1.8

GCC

4.8.2 及以上

时钟同步

Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。

关闭交换分区(swap)

Linux交换分区会给Doris带来很严重的性能问题,需要在安装之前禁用交换分区

Linux文件系统

ext4和xfs文件系统均支持。


Doris整体架构如下图所示,Doris架构非常简单,只有两类进程
Frontend(FE):主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。
Backend(BE):主要负责数据存储、查询计划的执行。

Doris的单机部署与安装

注1:
  1. FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个 GB 不等。
  2. BE 的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量 * 3(3副本)计算,然后再预留额外 40% 的空间用作后台 compaction 以及一些中间数据的存放。
  3. 一台机器上虽然可以部署多个 BE,但只建议部署一个实例,同时只能部署一个 FE。如果需要 3 副本数据,那么至少需要 3 台机器各部署一个 BE 实例(而不是1台机器部署3个BE实例)。多个FE所在服务器的时钟必须保持一致(允许最多5秒的时钟偏差)
  4. 测试环境也可以仅适用一个 BE 进行测试。
  5. 实际生产环境,BE 实例数量直接决定了整体查询延迟。
  6. 所有部署节点关闭 Swap。

注2:
  1. FE 节点的数量FE 角色分为 Follower 和 Observer,(Leader 为 Follower 组中选举出来的一种角色,以下统称 Follower)。
  2. FE 节点数据至少为1(1 个 Follower)。当部署 1 个 Follower 和 1 个 Observer 时,可以实现读高可用。当部署 3 个 Follower 时,可以实现读写高可用(HA)。
  3. Follower 的数量必须为奇数,Observer 数量随意。
  4. 根据以往经验,当集群可用性要求很高时(比如提供在线业务),可以部署 3 个 Follower 和 1-3 个 Observer。如果是离线业务,建议部署 1 个 Follower 和 1-3 个 Observer。

  • 通常我们建议 10 ~ 100 台左右的机器,来充分发挥 Doris 的性能(其中 3 台部署 FE(HA),剩余的部署 BE)
  • 当然,Doris的性能与节点数量及配置正相关。在最少4台机器(一台 FE,三台 BE,其中一台 BE 混部一个 Observer FE 提供元数据备份),以及较低配置的情况下,依然可以平稳的运行 Doris。
  • 如果 FE 和 BE 混部,需注意资源竞争问题,并保证元数据目录和数据目录分属不同磁盘。

二、安装部署

1、环境需要准备mysql、JDK以及Doris安装包。

企站帮微商城系统Access版
企站帮微商城系统Access版

OdnShop(原企站帮微商城系统,更名为OdnShop),基于ASP.NET 4.0+Access开发的轻量级微信商城系统,前台简洁美观,后台容易操作。系统容易部署,空间成本低,大部分的几百块一年的虚拟主机均可支持(具体请咨询空间商),适合要求不高,预算不多的小商店,小企业初次尝试微信线上销售产品,目前基本的核心功能,包括微信登陆/支付,产品管理,购物车与订单管理,分享获取积分,积分礼品兑换功能

下载

JDK官网下载地址Java Downloads | Oracle
[root@node1 tmp]# wgethttps://download.oracle.com/otn/java/jdk/11.0.22+9/8662aac2120442c2a89b1ee9c67d7069/jdk-11.0.22_linux-x64_bin.tar.gz?AuthParam=1708332186_1be3fdf931328e94bc691cbf6fe71eb1


[root@node1 tmp]# tar xf jdk-11.0.22_linux-x64_bin.tar.gz?AuthParam=1708332186_1be3fdf931328e94bc691cbf6fe71eb1 -C /usr/java/
export JAVA_HOME=/usr/java/jdk-11.0.22/
export PATH=$PATH:$JAVA_HOME/bin

[root@node1 tmp]# source /etc/profile ---使配置生效
[root@node1 tmp]# java --version ---查看Java版本,验证配置是否生效

2、下载安装包
官网下载地址Download - Apache Doris
[root@node1 tmp]# wgethttps://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.0-bin-x64.tar.gz

Doris的单机部署与安装

3、修改limits文件

[root@node1 ~]# vi /etc/security/limits.conf

  • soft nofile 65536
  • hard nofile 65536
  • soft nproc 65536
  • hard nproc 65536

[root@node1 ~]# vi /etc/sysctl.conf
添加
fs.file-max = 6553560
vm.max_map_count = 2000000
[root@node1 ~]# sysctl -p ---执行生效
[root@node1 ~]# swapoff -a --关闭交换分区


4、解压安装包
[root@node1 tmp]# mkdir -p /data/doris
[root@node1 tmp]# tar xf apache-doris-2.0.0-bin-x64.tar.gz -C /data/doris/


5、配置启动FE
[root@node1 tmp]# vi /data/doris/apache-doris-2.0.0-bin-x64/fe/conf/fe.conf
priority_networks = 192.168.12.0/24
meta_dir = /data/doris/doris-meta
priority_networks 是 FE 和 BE 都有的一个配置,配置项需写在 fe.conf 和 be.conf 中。该配置项用于在 FE 或 BE 启动时,告诉进程应该绑定哪个IP。
注意:
这里你可以不配置,默认是在你的Doris FE 安装目录下的 doris-meta,单独配置元数据目录,需要你提前创建好你指定的目录。
生产环境强烈建议单独指定目录不要放在Doris安装目录下,最好是单独的磁盘(如果有SSD最好),测试开发环境可以使用默认配置。
[root@node1 ~]# mkdir /data/doris/doris-meta ---创建元数据目录
[root@node1 tmp]# sh /data/doris/apache-doris-2.0.0-bin-x64/fe/bin/start_fe.sh --daemon ---后台启动FE
前台启动(建议首次启动使用前台,便于查看运行信息,检测是否正常启动)


[root@node1 tmp]# sh /data/doris/apache-doris-2.0.0-bin-x64/fe/bin/start_fe.sh
[root@node1 tmp]# sh /data/doris/apache-doris-2.0.0-bin-x64/fe/bin/stop_fe.sh ---停止FE节点


检查 Doris 是否启动成功
[root@node1 ~]# curlhttp://127.0.0.1:8030/api/bootstrap
如果返回结果中带有
"msg":"success"字样,则说明启动成功。


6、配置启动BE
[root@node1 tmp]# vi /data/doris/apache-doris-2.0.0-bin-x64/be/conf/be.conf
export JAVA_HOM=/usr/local/jdk/ ---配置 JAVA_HOME 环境变量
priority_networks = 192.168.12.0/24
storage_root_path = /data/doris/doris-storage/
由于从 1.2 版本开始支持 Java UDF 函数,BE 依赖于 Java 环境。所以要预先配置 `JAVA_HOME` 环境变量,也可以在 `start_be.sh` 启动脚本第一行添加 `export JAVA_HOME=your_java_home_path`来添加环境变量。


[root@node1 tmp]# mkdir /data/doris/doris-storage/ ---创建BE 数据存储目录
注意:

  • 默认目录在 BE安装目录的 storage 目录下。
  • BE 配置的存储目录必须先创建好

[root@node1 tmp]# sh /data/doris/apache-doris-2.0.0-bin-x64/be/bin/start_be.sh --daemon ----后台启动BE

前台启动(建议首次启动使用前台,便于查看运行信息,检测是否正常启动)

[root@node1 tmp]# sh /data/doris/apache-doris-2.0.0-bin-x64/be/bin/start_be.sh
[root@node1 tmp]# sh /data/doris/apache-doris-2.0.0-bin-x64/be/bin/stop_be.sh --停止BE节点
问题1:在启动BE时报下面错误
[root@node1 tmp]# sh /data/doris/apache-doris-2.0.0-bin-x64/be/bin/start_be.sh --daemon
Please set the maximum number of open file descriptors larger than 60000, eg: 'ulimit -n 60000'.
解决方法
[root@node1 tmp]# ulimit -n 60000
问题2:在启动BE时报下面错误
[root@node1 tmp]# sh /data/doris/apache-doris-2.0.0-bin-x64/be/bin/start_be.sh --daemon
Please disable swap memory before installation, eg: 'swapoff -a'.
解决方法:
[root@node1 tmp]# swapoff -a

7、检查FE和BE是否启动成功
[root@node1 tmp]# jps

8、web测试
http:// fe_ip:8030 (账号 root 密码默认为空)
http://192.168.12.100:8030/login

Doris的单机部署与安装

注意:

  1. 这里我们使用 Doris 内置的默认用户 root 进行登录,密码是空
  1. 这是一个 Doris 的管理界面,只能拥有管理权限的用户才能登录,普通用户不能登录。
9、连接测试,添加BE
[root@node1 tmp]# mysql -uroot -P9030 -h 192.168.12.100
mysql> show frontends\G;
如果 IsMaster、Join 和 Alive 三列均为true,则表示节点正常
注意:
  • 这里使用的 root 用户是 doris 内置的默认用户,也是超级管理员用户,具体的用户权限查看权限管理
  • -P :这里是我们连接 Doris 的查询端口,默认端口是 9030,对应的是fe.conf里的query_port
  • -h : 这里是我们连接的 FE IP地址,如果你的客户端和 FE 安装在同一个节点可以使用192.168.12.100。

10、添加BE到集群里面
mysql> ALTER SYSTEM ADD BACKEND "192.168.12.100:9050";
mysql> show backends\G;

mysql> show proc '/backends'\G;

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
mysql修改数据表名
mysql修改数据表名

MySQL修改数据表:1、首先查看数据库中所有的表,代码为:‘SHOW TABLES;’;2、修改表名,代码为:‘ALTER TABLE 旧表名 RENAME [TO] 新表名;’。php中文网还提供MySQL的相关下载、相关课程等内容,供大家免费下载使用。

668

2023.06.20

MySQL创建存储过程
MySQL创建存储过程

存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别为CREATE PROCEDURE和CREATE FUNCTION。使用CALL语句调用存储过程智能用输出变量返回值。函数可以从语句外调用(通过引用函数名),也能返回标量值。存储过程也可以调用其他存储过程。php中文网还提供MySQL创建存储过程的相关下载、相关课程等内容,供大家免费下载使用。

247

2023.06.21

mongodb和mysql的区别
mongodb和mysql的区别

mongodb和mysql的区别:1、数据模型;2、查询语言;3、扩展性和性能;4、可靠性。本专题为大家提供mongodb和mysql的区别的相关的文章、下载、课程内容,供大家免费下载体验。

281

2023.07.18

mysql密码忘了怎么查看
mysql密码忘了怎么查看

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql密码忘了怎么办呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

516

2023.07.19

mysql创建数据库
mysql创建数据库

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS 应用软件之一。那么mysql怎么创建数据库呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

256

2023.07.25

mysql默认事务隔离级别
mysql默认事务隔离级别

MySQL是一种广泛使用的关系型数据库管理系统,它支持事务处理。事务是一组数据库操作,它们作为一个逻辑单元被一起执行。为了保证事务的一致性和隔离性,MySQL提供了不同的事务隔离级别。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

386

2023.08.08

sqlserver和mysql区别
sqlserver和mysql区别

SQL Server和MySQL是两种广泛使用的关系型数据库管理系统。它们具有相似的功能和用途,但在某些方面存在一些显著的区别。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

533

2023.08.11

mysql忘记密码
mysql忘记密码

MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。那么忘记mysql密码我们该怎么解决呢?php中文网给大家带来了相关的教程以及其他关于mysql的文章,欢迎大家前来学习阅读。

602

2023.08.14

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

18

2026.01.29

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 812人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号