Doris简单了解

发布时间 2023-09-10 20:59:01作者: 为什么不是这样呢

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。

一、配置启动

Doris 运行在 Linux 环境中,同时要求使用 Java 运行环境(JDK最低版本要求是8),BE启动需要JAVA环境变量,最好设置JAVA环境变量。

1.配置启动FE(Frontend)

进入/opt/apache-doris-1.2.7-bin-x64/fe/conf路径下,在fe.conf配置文件中添加配置项priority_networks=192.168.31.0/24  【注意:这个参数是必须配置的,特别是当一台机器拥有多个IP地址的时候,要为 FE 指定唯一的IP地址,可以通过掩码的方式配置

 

在启动前在/opt/apache-doris-1.2.7-bin-x64/fe目录下手动创建doris-meta文件夹,如果想自定义路径需在fe.conf中添加配置项meta_dir【未手动创建会出现启动失败的情况,参考解决方法:无法启动 FE · apache/doris · Discussion #20218 · GitHub

 在/opt/apache-doris-1.2.7-bin-x64/fe/bin目录下,执行./start_fe.sh --daemon  启动FE,使用curl http://192.168.31.114:8030/api/bootstrap。这里 IP 和 端口分别是 FE 的 IP 和 http_port(默认8030)。如果返回结果中带有 "msg":"success" 字样,则说明启动成功。

 2.配置启动BE(Backend)

进入/opt/apache-doris-1.2.7-bin-x64/be/conf路径下,在fe.conf配置文件中添加配置项priority_networks=192.168.31.0/24  【注意:这个参数是必须配置的,特别是当一台机器拥有多个IP地址的时候,要为 FE 指定唯一的IP地址,可以通过掩码的方式配置】

在/opt/apache-doris-1.2.7-bin-x64/be/bin目录下,执行./start_be.sh --daemon  启动BE

 3.进入FE调整BE

可以使用MySQL客户端连接Doris FE(兼容MySQL标准,也是一个特点),使用mysql -uroot -P9030 -h127.0.0.1连接Doris 【1.这里使用的 root 用户是 doris 内置的默认用户,也是超级管理员用户 2.-P :这里是我们连接 Doris 的查询端口,默认端口是 9030,对应的是fe.conf里的 query_port 3.-h : 这里是我们连接的 FE IP地址,如果你的客户端和 FE 安装在同一个节点可以使用127.0.0.1

执行show frontends\G,查看 FE 运行状态。如果 IsMaster、Join 和 Alive 三列均为true,则表示节点正常。

 通过执行ALTER SYSTEM ADD BACKEND "be_host_ip:heartbeat_service_port";将 BE 添加到集群中。【1.be_host_ip:这里是BE 的 IP 地址,和在 be.conf 里的 priority_networks 匹配 2.heartbeat_service_port:这里是 BE 的心跳上报端口,和在 be.conf 里的 heartbeat_service_port 匹配,默认是 9050

通过执行SHOW BACKENDS\G查看 BE 的运行状态。Alive : true表示节点运行正常。

 

 二、简单使用

1.create database demo;  创建一个数据库

2.创建数据表

 3.导入数据

通过Stream load 方式将test.csv数据导入进demo数据库。【1.-T test.csv : 这里使我们刚才保存的数据文件,如果路径不一样,请指定完整路径 2.-u root : 这里是用户名密码,我们使用默认用户root,密码是空 3.127.0.0.1:8030 : 分别是 fe 的 ip 和 http_port】

 1.NumberLoadedRows: 表示已经导入的数据记录数  2.NumberTotalRows: 表示要导入的总数据量   3.Status :Success 表示导入成功

4.查询数据

 

参考资料:MPP大规模并行处理架构详解-腾讯云开发者社区-腾讯云 (tencent.com)Doris 介绍 - Apache Doris