
一、Doris介绍
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。截止目前, Apache Doris 已经在全球超过 4000 家企业的生产环境中得到应用,在中国市值或估值排行前 50 的互联网公司中,有超过 80% 长期使用 Apache Doris,包括百度、美团、小米、京东、字节跳动、腾讯、网易、快手、微博、贝壳等。同时在一些传统行业如金融、能源、制造、电信等领域也有着丰富的应用。
二、安装准备
Linux 系统 版本:CentOS 7.1 及以上、Ubuntu 16.04 及以上
软件需求:Java 1.8、GCC 4.8.2 及以上
操作系统安装要求:设置系统最大打开文件句柄数
vi etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
时钟同步:Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。
关闭交换分区(swap):Linux交换分区会给Doris带来很严重的性能问题,需要在安装之前禁用交换分区
Linux文件系统:ext4和xfs文件系统均支持。
三、部署实战
1.部署doris服务
(1)下载Doris
登陆地址https://doris.apache.org/download
选择需要下载的版本,这里选择2.1版本
(2)部署FE
fdisk -l 查看系统中的磁盘
执行格式化命令
mkfs.xfs /dev/sdX
创建挂载目录
mkdir /data/doris/doris-meta
挂载目录
mount /dev/sdX /data/doris/doris-meta
在FE创建安装目录
mkdir /opt/dtstack
cd /opt/dtstack/
将doris安装包放至各创建的目录并解压
mv apache-doris-2.1.0-bin-x64-noavx2.tar.gz /opt/dtstack
tar -zxf apache-doris-2.1.0-bin-x64-noavx2.tar.gz
在各doris节点将解压后的目录重命名为Doris
mv apache-doris-2.1.0-bin-x64-noavx2/fe Doris/
(3)部署BE
fdisk -l 查看系统中的磁盘
执行格式化命令
mkfs.xfs /dev/sdX
创建挂载目录
mkdir /data/doris/data1
挂载目录
mount /dev/sdX /data/doris/data1
在BE创建安装目录
mkdir /opt/dtstack
cd /opt/dtstack/
将doris安装包放至各创建的目录并解压
mv apache-doris-2.1.0-bin-x64-noavx2.tar.gz /opt/dtstack
tar -zxf apache-doris-2.1.0-bin-x64-noavx2.tar.gz
在各BE节点将解压后的目录重命名为Doris
mv apache-doris-2.1.0-bin-x64-noavx2/be Doris/
2.配置Doris
(1)配置FE(各FE节点执行)
配置 FE-Config
vi /opt/dtstack/Doris/fe/conf/fe.conf
取消 priority_networks 的注释,修改参数
当前节点的 IP 地址为 172.16.120.119,则需要更改为172.16.120.0/23填入
这里需要填入的是 IP 子网网段地址,并非 IP 地址
priority_networks = 172.16.120.0/23
storage_root_path = /data/doris/doris-meta
保存退出
(2)安装mysql客户端
下载免安装的 MySQL 客户端
wget https://doris-build-hk.oss-cn-hongkong.aliyuncs.com/mysql-client/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
解压MySQL 客户端并进入bin目录
tar -zxf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
cd mysql-5.7.22-linux-glibc2.12-x86_64/bin/
后执行下面的命令连接 Doris并查看状态
查看 FE 运行状态
mysql -uroot -P9030 -h127.0.0.1
SHOW FRONTENDS\G;
(3)配置BE(各BE节点执行)
配置 BE-Config
vi Doris/be/conf/be.conf
取消 priority_networks 的注释,修改参数
当前节点的 IP 地址为 172.16.120.119,则需要更改为172.16.120.0/23填入
这里需要填入的是 IP 子网网段地址,并非 IP 地址
priority_networks = 172.16.120.0/23
修改storage_root_path
vi /opt/dtstack/Doris/be/conf/be.conf
storage_root_path = /data/doris/data1
保存退出
将配置文件拷贝至其它be节点
scp be.conf hadoop02:`pwd`
scp be.conf hadoop03:`pwd`
配置 JAVA_HOME 环境变量
编辑启动脚本第一行添加JAVA_HOME 环境变量
vi bin/start_be.sh
export JAVA_HOME=/usr/local/jdk
(4)注册BE
进入MySQL 客户端
cd /opt/dtstack/mysql-5.7.22-linux-glibc2.12-x86_64/bin/
连接mysql
mysql -uroot -P9030 -h127.0.0.1
执行以下命令来添加每一个 BE
ALTER SYSTEM ADD BACKEND "BE_IP:9050";
查看 BE 运行状态
SHOW PROC '/backends'\G;
也可通过前台页面查看
3.启动doris
(1)启动FE
进入 FE 安装目录下
cd /opt/dtstack/Doris/fe
执行如下命令,完成 FE 的启动
./bin/start_fe.sh --daemon
查看 FE 运行状态
curl http://127.0.0.1:8030/api/bootstrap
这里 IP 和 端口分别是 FE 的 IP 和 http_port(默认8030),如果是在 FE 节点执行,直接运行上面的命令即可。如果返回结果中带有 "msg":"success" 字样,则说明启动成功。
(1)停止FE(跳过)
进入 FE 安装目录
cd /opt/dtstack/Doris/fe
执行下面的命令完成 FE 的停止
./bin/stop_fe.sh
(2)启动BE
进入 BE 安装目录下
cd /opt/dtstack/Doris/be
执行如下命令,完成 BE 的启动
./bin/start_be.sh --daemon
查看 BE 运行状态
curl http://127.0.0.1:8040/api/health
如果返回:{"status": "OK","msg": "To Be Added"} 则表示启动成功
(3)停止BE(跳过)
进入 FE 安装目录
cd /opt/dtstack/Doris/be
执行下面的命令完成 FE 的停止
./bin/stop_be.sh
(4)登陆前台页面查看




