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;

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

826

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

726

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

732

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

396

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

445

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

429

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16884

2023.08.03

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

热门下载

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

精品课程

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

共48课时 | 1.6万人学习

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

共3课时 | 0.3万人学习

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

共1课时 | 779人学习

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

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