Doris 作为一款开源的 MPP 架构 OLAP 数据库,能够运行在绝大多数主流的商用服务器上。为了能够充分运用 MPP 架构的并发优势,以及 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):主要负责数据存储、查询计划的执行。

注1:FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个 GB 不等。 BE 的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量 * 3(3副本)计算,然后再预留额外 40% 的空间用作后台 compaction 以及一些中间数据的存放。 一台机器上虽然可以部署多个 BE,但只建议部署一个实例,同时只能部署一个 FE。如果需要 3 副本数据,那么至少需要 3 台机器各部署一个 BE 实例(而不是1台机器部署3个BE实例)。多个FE所在服务器的时钟必须保持一致(允许最多5秒的时钟偏差) 测试环境也可以仅适用一个 BE 进行测试。 实际生产环境,BE 实例数量直接决定了整体查询延迟。 所有部署节点关闭 Swap。
注2:FE 节点的数量FE 角色分为 Follower 和 Observer,(Leader 为 Follower 组中选举出来的一种角色,以下统称 Follower)。 FE 节点数据至少为1(1 个 Follower)。当部署 1 个 Follower 和 1 个 Observer 时,可以实现读高可用。当部署 3 个 Follower 时,可以实现读写高可用(HA)。 Follower 的数量必须为奇数,Observer 数量随意。 根据以往经验,当集群可用性要求很高时(比如提供在线业务),可以部署 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安装包。 JDK官网下载地址Java Downloads | Oracle [root@node1 tmp]# wget https://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]# wget https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-2.0.0-bin-x64.tar.gz 
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 ~]# curl :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测试 fe_ip:8030 (账号 root 密码默认为空) :8030/login 
注意: 这里我们使用 Doris 内置的默认用户 root 进行登录,密码是空 这是一个 Doris 的管理界面,只能拥有管理权限的用户才能登录,普通用户不能登录。
9、连接测试,添加BE [root@node1 tmp]# mysql -uroot -P9030 -h 192.168.12.100 mysql> show frontends\G; 如果 IsMaster、Join 和 Alive 三列均为true,则表示节点正常 注意:
10、添加BE到集群里面 mysql> ALTER SYSTEM ADD BACKEND "192.168.12.100:9050"; mysql> show backends\G; 或 mysql> show proc '/backends'\G;
安装部署 - 标准部署 - 《Apache Doris v2.0 中文文档》 - 书栈网 · BookStack Doris单机安装部署_doris安装-CSDN博客 Doris的单机部署与安装_doris windows怎么安装doris-CSDN博客 Doris的单机部署与安装_doris windows怎么安装doris-CSDN博客
(责任编辑:)
|