CentOS7下安装Doris

Doris简介

Apache Doris 是一款基于 MPP 架构的高性能、实时的分析型数据库,以高效、简单、统一的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。

Doris 的使用场景

  • 报表分析

  • 实时看板(Dashboards)

  • 面向企业内部分析师和管理者的报表

  • 面向用户或者客户的高并发报表分析(Customer Facing Analytics)。比如面向网站主的站点分析、面向广告主的广告报表,并发通常要求成千上万的 QPS,查询延时要求毫秒级响应。著名的电商公司京东在广告报表中使用 Apache Doris,每天写入 100 亿行数据,查询并发 QPS 上万,99 分位的查询延时 150ms。

  • 即席查询(Ad-hoc Query):面向分析师的自助分析,查询模式不固定,要求较高的吞吐。小米公司基于 Doris 构建了增长分析平台(Growing Analytics,GA),利用用户行为数据对业务进行增长分析,平均查询延时 10s,95 分位的查询延时 30s 以内,每天的 SQL 查询量为数万条。

  • 湖仓一体(Data Lakehouse):通过外表的方式联邦分析位于 Hive、Iceberg、Hudi 等离线湖仓中的数据,在避免数据拷贝的前提下,查询性能大幅提升。

  • 日志检索分析:在 Apache Doris 2.0 版本中,支持了倒排索引和全文检索,能够很好的满足日志检索分析的场景,并且依赖其高效的查询引擎和存储引擎,相比传统的日志检索分析的方案可以有 10 倍性价比的优势。

  • 统一数仓构建:一个平台满足统一的数据仓库建设需求,简化繁琐的大数据软件栈。海底捞基于 Apache Doris 构建的统一数仓,替换了原来由 Spark、Hive、Kudu、Hbase、Phoenix 组成的旧架构,架构大大简化。

Doris 的整体架构

  • Frontend(FE):主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。
  • Backend(BE):主要负责数据存储、查询计划的执行。

环境说明

这里搭建测试环境,只安装1个FrontEnd和1个BackEnd即可。

1个FrontEnd意味着没有高可用功能。

1个BackEnd意味着数据只有1份,没有更多的副本。

这里在node2机器上操作。

安装

设置系统

(1)设置系统最大打开文件句柄数(注意这里的*不要去掉)

[hadoop@node2 ~]$ sudo vim /etc/security/limits.conf

末尾添加

* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536

(2)设置最大虚拟块的大小

[hadoop@node2 ~]$ sudo vim /etc/sysctl.conf

末尾添加

vm.max_map_count=2000000

重启生效

[hadoop@node2 ~]$ sudo reboot

 

下载安装包

根据自己的需要,下载合适的安装包,下载地址:

下载doris

arm64 架构 cpu(apple),选择 arm64 的安装包下载 (苹果电脑)

x86_64架构 cpu(intel,amd),执行命令:

cat /proc/cpuinfo | grep avx2

如果能看到avx2 字样选择带 avx2 的包,否则选择不带 avx2 (一般比较新的电脑都支持avx2)

下载后,上传x64_avx2安装包到Linux

[hadoop@node2 installfile]$ ls
... x64_avx2
[hadoop@node2 installfile]$ cd x64_avx2/
[hadoop@node2 x64_avx2]$ ls
apache-doris-be-1.2.4.1-bin-x86_64.tar.xz            apache-doris-fe-1.2.4.1-bin-x86_64.tar.xz
apache-doris-dependencies-1.2.4.1-bin-x86_64.tar.xz
​

解压

解压(解压即安装)

[hadoop@node2 x64_avx2]$ mkdir ~/soft/doris
​
安装fe
[hadoop@node2 x64_avx2]$ tar -xvf apache-doris-fe-1.2.4.1-bin-x86_64.tar.xz -C ~/soft/doris/
[hadoop@node2 x64_avx2]$ mv ~/soft/doris/apache-doris-fe-1.2.4.1-bin-x86_64 ~/soft/doris/fe
​
安装be
[hadoop@node2 x64_avx2]$ tar -xvf apache-doris-be-1.2.4.1-bin-x86_64.tar.xz -C ~/soft/doris/
[hadoop@node2 x64_avx2]$ mv ~/soft/doris/apache-doris-be-1.2.4.1-bin-x86_64/ ~/soft/doris/be
​
安装其他依赖(java udf函数)
[hadoop@node2 x64_avx2]$ tar -xvf apache-doris-dependencies-1.2.4.1-bin-x86_64.tar.xz -C ~/soft/doris/
[hadoop@node2 x64_avx2]$ mv ~/soft/doris/apache-doris-dependencies-1.2.4.1-bin-x86_64/ ~/soft/doris/dependencies
[hadoop@node2 x64_avx2]$ cd ~/soft/doris/
[hadoop@node2 doris]$ ls
be  dependencies  fe
[hadoop@node2 doris]$ cp dependencies/java-udf-jar-with-dependencies.jar be/lib/
​

注意:解压选项不能加z,否则报错

配置FE

[hadoop@node2 doris]$ vim fe/conf/fe.conf

修改内容如下:

http_port = 7030
# 193是虚拟机的网段,注意根据实际情况修改
priority_networks = 192.168.193.0/24

启动FE

[hadoop@node2 doris]$ ./fe/bin/start_fe.sh --daemon
​

登录 FE Web页面

node2:7030

 

用户名:root

密码:无

登录后,看到如下界面

配置BE

[hadoop@node2 doris]$ vim be/conf/be.conf

配置如下内容

webserver_port = 7040
# 如果是多个硬盘可以配置多个存储目录,存储目录要提前创建出来,其中,第二个存储目录特别指定为SSD,存储容量限制是10GB,这里暂时不配做,就用默认的存储目录
# storage_root_path = /home/hadoop/soft/doris/doris-storage1;/home/hadoop/soft/doris/doris-storage2.SSD,10
# 193是虚拟机的网段,注意根据实际情况修改
priority_networks = 192.168.193.0/24
# 添加如下数据
mem_limit=40%

如果计划多台机器安装BE,下一步需要分发BE,这里只安装1台,所以不用分发BE。

添加BE

BE节点需要先在FE中添加,才可加入集群。可以使用mysql-client连接到FE。

如果还没有安装MySQL需要先安装MySQL。可参考:脚本一键安装MySQL8

使用 MySQL客户端连接到 FE

[hadoop@node2 doris]$ mysql -hnode2 -P9030 -uroot

注意:

  • P是大写

  • FE 默认没有密码

  • 设置密码:SET PASSWORD FOR 'root' = PASSWORD('aaaaaa');

[hadoop@node2 doris]$ mysql -hnode2 -P9030 -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 0
Server version: 5.7.99 Doris version doris-1.2.4-1-Unknown
​
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
​
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
mysql> 
​

输出日志可以看到Doris的版本号为5.7.99

添加BE

ALTER SYSTEM ADD BACKEND "node2:9050";

执行过程如下:

mysql> ALTER SYSTEM ADD BACKEND "node2:9050";
Query OK, 0 rows affected (0.05 sec)

如果还有其他BE,修改ALTER SYSTEM ADD BACKEND 命令中的主机,继续命令添加BE

查看BE状态

SHOW PROC '/backends'\G

执行过程

mysql> SHOW PROC '/backends'\G
*************************** 1. row ***************************
              BackendId: 10003
                Cluster: default_cluster
                     IP: 192.168.193.142
               HostName: node2
          HeartbeatPort: 9050
                 BePort: -1
               HttpPort: -1
               BrpcPort: -1
          LastStartTime: NULL
          LastHeartbeat: NULL
                  Alive: false
   SystemDecommissioned: false
  ClusterDecommissioned: false
              TabletNum: 0
       DataUsedCapacity: 0.000 
          AvailCapacity: 1.000 B
          TotalCapacity: 0.000 
                UsedPct: 0.00 %
         MaxDiskUsedPct: 0.00 %
     RemoteUsedCapacity: 0.000 
                    Tag: {"location" : "default"}
                 ErrMsg: java.net.ConnectException: Connection refused (Connection refused)
                Version: 
                 Status: {"lastSuccessReportTabletsTime":"N/A","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false}
HeartbeatFailureCounter: 28
               NodeRole: 
1 row in set (0.02 sec)
​
mysql> 
​

看到HostName: node2,说明node2作为了BE,但是Alive: false,说明还没有存活,需要启动BE

看到的不是普通的mysql客户端,而是Doriss FE的客户端,和浏览器看到的如下界面功能一样,都能执行SQL

启动BE

[hadoop@node2 doris]$ be/bin/start_be.sh --daemon

查看进程

[hadoop@node2 doris]$ jps
4211 
5115 Jps
2559 PaloFe

启动BE后,jps只能看到进程号(例如:4211),因为BE是用C++写的,不是Java进程,所以没有看到进程名称。

查询

mysql> SHOW PROC '/backends'\G
*************************** 1. row ***************************
              BackendId: 10003
                Cluster: default_cluster
                     IP: 192.168.193.142
               HostName: node2
          HeartbeatPort: 9050
                 BePort: 9060
               HttpPort: 7040
               BrpcPort: 8060
          LastStartTime: 2024-07-07 00:04:41
          LastHeartbeat: 2024-07-07 00:10:30
                  Alive: true
   SystemDecommissioned: false
  ClusterDecommissioned: false
              TabletNum: 0
       DataUsedCapacity: 0.000 
          AvailCapacity: 8.310 GB
          TotalCapacity: 26.979 GB
                UsedPct: 69.20 %
         MaxDiskUsedPct: 69.20 %
     RemoteUsedCapacity: 0.000 
                    Tag: {"location" : "default"}
                 ErrMsg: 
                Version: doris-1.2.4-1-Unknown
                 Status: {"lastSuccessReportTabletsTime":"2024-07-07 00:10:05","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false}
HeartbeatFailureCounter: 0
               NodeRole: mix
1 row in set (0.01 sec)
​
mysql> 
​

看看到BE为存活状态Alive: true

Web UI查看BE

关闭BE

[hadoop@node2 doris]$ be/bin/stop_be.sh 
waiting be to stop, pid: 4211
stop doris_be, and remove pid file. 

关闭FE

[hadoop@node2 doris]$ fe/bin/stop_fe.sh 
waiting fe to stop, pid: 2559
stop java, and remove pid file. 

查看进程

[hadoop@node2 doris]$ jps
5247 Jps

至此,Doris的测试环境搭建完成!深入了解Doris,可以查看官网文档。

完成!enjoy it!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/783356.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

新时代【机器学习】与【Pycharm】:【随机数据生成】与智能【股票市场分析】

目录 第一步:准备工作 1.1 安装必要的库 小李的理解: 1.2 导入库 小李的理解: 第二步:生成和准备数据 2.1 生成随机股票数据 小李的理解: 2.2 数据探索与可视化 小李的理解: 2.3 数据处理 小李…

谷粒商城学习笔记-18-快速开发-配置测试微服务基本CRUD功能

文章目录 一,product模块整合mybatis-plus1,引入依赖2,product启动类指定mapper所在包3,在配置文件配置数据库连接信息4,在配置文件中配置mapper.xml映射文件信息 二,单元测试1,编写测试代码&am…

MySQL学习记录 —— 십칠 CentOS7.9环境下的MySQL8.4 安装和配置

文章目录 1、安装和配置2、MySQL 包位置3、主要程序介绍 本篇开始在之前mysql博客的基础上继续延伸,适合有一定基础的mysql使用者阅读 环境 :CentOS 7.9 root 用户,MySQL 8.4 1、安装和配置 看一下当前系统版本 cat /etc/redhat-release应当…

项目收获总结--MyBatis的知识收获

一、概述 最近几天公司项目开发上线完成,做个收获总结吧~ 今天记录MyBatis的收获和提升。 二、获取自动生成的(主)键值 insert 方法总是返回一个 int 值 ,这个值代表的是插入的行数。若表的主键id采用自增长策略,自动生成的键值在 insert…

ubuntu软件源的两种格式和环境变量

1. ubuntu的/etc是什么目录? 在Ubuntu操作系统中,/etc/是一个特殊的目录,它包含系统的配置文件。这些配置文件用于设置各种系统和应用程序的参数和选项。 一般来说,用户可以在这个目录下找到各种重要的配置文件,如网络…

Leetcode—93. 复原 IP 地址【中等】

2024每日刷题&#xff08;140&#xff09; Leetcode—93. 复原 IP 地址 实现代码 class Solution { public:vector<string> restoreIpAddresses(string s) {vector<string> ans;vector<string> path;function<void(int)>dfs [&](int start) {if…

robotframework+python接口自动化的点滴记录

在robotframeworkpython框架上写了两三天的接口自动化&#xff0c;做了一些笔记。 1.在断言的时候经常由于数据类型导致较验不通过&#xff0c;值得注意的是&#xff0c;在定义常量或者变量的时候&#xff0c;使用${}代表int类型&#xff0c;例如${2}就代表数字2&#xff0c;另…

E - Tree and Hamilton Path 2

算出所有路径之和2减去树的直径 #include <bits/stdc.h> using namespace std; typedef long long ll; const int N2e610; ll n,ans; ll e[N],h[N],idx,w[N],ne[N],dis[N]; void add(ll a,ll b,ll c){ e[idx]b,ne[idx]h[a],w[idx]c,h[a]idx; } ll c; void dfs(ll u,…

23款奔驰S400升级原厂后排电动座椅调节有哪些功能

奔驰 S400 商务版升级后排电动座椅后&#xff0c;通常会具备以下功能&#xff1a; • 电动调节功能&#xff1a;可以通过按钮或控制面板来调节座椅的前后、上下、倾斜等位置&#xff0c;以获得最佳的舒适度。 • 座椅加热功能&#xff1a;在寒冷的天气中&#xff0c;座椅加热…

云渲染平台那个好?2024云渲染测评

1.渲染100&#xff08;强烈推荐&#xff09; 以高性价比著称&#xff0c;是预算有限的小伙伴首选。 15分钟0.2,60分钟内0.8;注册填邀请码【5858】可领30元礼包和免费渲染券) 提供了多种机器配置选择(可以自行匹配环境)最高256G大内存机器&#xff0c;满足不同用户需求。支持…

自然语言处理领域介绍及其发展历史

自然语言处理领域介绍及其发展历史 1 NLP2 主要任务3 主要的方法1 基于规则的方法&#xff08;1950-1980&#xff09;2 基于统计的方法&#xff08;传统的机器学习的方法&#xff09;3 Connectionist approach&#xff08;Neural networks&#xff09; 1 NLP 自动的理解人类语…

uniapp父页面调用子页面 组件方法记录

文章目录 导文如何点击父页面&#xff0c;触发子页面函数先写一个子页面的基础内容父元素 如何点击父页面&#xff0c;修改子页面的值先写一个子页面的基础内容父元素 导文 如何点击父页面&#xff0c;触发子页面函数&#xff1f; 如何点击父页面&#xff0c;修改子页面的值&am…

jvisualvm工具使用--添加远程监视

jvisualvm简介 jvisualvm该工具位于jdk的bin目录下&#xff0c;是jdk自带的可用于监控线程、内存情况、查看方法的CPU时间和内存中的对 象、已被GC的对象、反向查看分配的堆栈等&#xff0c;即&#xff1a;Java虚拟机监控、故障排查及性能分析工具。 远程监控方法 以windows端…

最小二乘法实践

食堂饭菜价格表如下图所示&#xff0c;采用最小二乘法估算荤菜、素菜、米饭的价格构成&#xff0c;增加一条记录&#xff0c;两荤22元。 提取训练数据&#xff1a; x z 12 y z 14 2x z 22 x y z 18 x 2y z 23 2x y z 26 3x y z 36 代码如下&#xff1a; i…

事件mousePressEvent、paintEvent、closeEvent、keyPressEvent】

事件 mousePressEvent、paintEvent、closeEvent、keyPressEvent 鼠标样式的设置 按WSAD通过keyPressEvent事件移动按钮 通过事件mousePressEvent获取鼠标位置的相对位置&#xff0c;绝对位置 cusor 鼠标样式设置成十字星 .h #ifndef DEFAULTHANDLEREXAMPLE_H #define DEFAUL…

01:单片机开发前的准备工作

单片机开发前的准备工作 1、 开发环境的安装2、创建工程和文件3、编译代码4、下载到单片机 1、 开发环境的安装 第一步&#xff1a;安装KEIL开发软件&#xff0c;按照如下步骤按照软件 第二步&#xff1a;注册KEIL软件 2、创建工程和文件 第一步&#xff1a;先在F盘创建一个文…

取得了PMP证书后有哪些优势?不清楚的快来看!

拿到PMP证书后&#xff0c;个人可以享受到一系列的福利&#xff0c;这些福利主要包括但不限于以下几个方面&#xff1a; 职业发展优势 PMP证书是项目管理领域的全球权威认证&#xff0c;能证明持证者具备系统的项目管理知识和经验。在求职和职业发展过程中&#xff0c;PMP证书…

【基础算法总结】分治—归并

分治—归并 1.排序数组2.交易逆序对的总数3.计算右侧小于当前元素的个数4.翻转对 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&#xff0c;我们一起努力吧!&#x1f603;&#x1f603; 1.排序数组 …

阶段三:项目开发---民航功能模块实现:任务18:指挥航空公司架次与延误率占比

任务描述 内 容&#xff1a;在前面的“使用Spark清洗统计业务数据并保存到数据库”任务中&#xff0c;已经通过Spark Streaming 清洗程序&#xff0c;将Kafka中Topic为“task_Aftn”的报文数据&#xff0c;经过数据清洗后&#xff0c;保存到了MySQL数据库中&#xff1b;本节任…

LLM 入门与实践(四) Yi 部署与分析

本文截取自20万字的《PyTorch实用教程》&#xff08;第二版&#xff09;&#xff0c;敬请关注&#xff1a;《Pytorch实用教程》&#xff08;第二版&#xff09;无论是零基础入门&#xff0c;还是CV、NLP、LLM项目应用&#xff0c;或是进阶工程化部署落地&#xff0c;在这里都有…