CentOS7下安装Doris

news2024/9/22 7:22:24

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.coloradmin.cn/o/1906990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot升级引发一个循环依赖支持问题

最近有个重要的项目要求使用带自定义表单的工作流。要求灵活配置流程。选用了较稳定的Flowable6.72版本。但面临着一个问题。教材上,Flowable6.7.2要求匹配的SpringBoot版本是2.6.2.需要对项目的Boot版本从2.3releae升到2.6.2,其他还好。不存在有类编译问题或类找不到问题。就是…

互联网银行每日2TB数据量,Apache SeaTunnel集成应用轻松搞定!

在我国,数字化的趋势驱动互联网银行发展走上快车道,近年来互联网银行发展迅速,积极拓展线上业务,并利用大数据技术加强风险控制,积极进行数字化转型。当新兴互联网银行乘着数字化改革的风潮搭档数据集成平台Apache Sea…

Android 15 适配之16K Page Size :为什么它会是最坑的一个适配点

首先什么是 Page Size ?一般意义上,页面(Page)指的就是 Linux 虚拟内存管理中使用的最小数据单位,页面大小(Page Size)就是虚拟地址空间中的页面大小, Linux 中进程的虚拟地址空间是由固定大小的页面组成。 Page Size 对于虚拟内…

如何把harmonos项目修改为openharmony项目

一开始分不清harmonyos和openharmony,在harmonyos直接下载的开发软件,后面发现不对劲,打脑阔 首先你要安装对应版本的开发软件,鸿蒙开发是由harmonyos和openharmony官网两个的,找到对应的地方下载对应版本的开发软件&…

rocketmq实现限流

目录 问题背景 技术方向 方案确认 消息队列(√) 分布式锁() 方案实现 监控方向 业务方向 问题背景 公司邮件服务token有 分钟内超200封的熔断机制,当前token被熔断后,系统发邮件操作会被忽略&…

关于微信支付-商户平台:查询订单提示“查询失败:操作失败,请稍候重试”的分析

目录 引子 分析 应对 小结 引子 在开发和实施微信 JSAPI 支付的应用后,我们遇到了一些问题,订单的状态更新不正常,当然我们首先需要从自身寻找原因和完善解决问题的办法和方案。在支付的过程中,客户会给我们一些反馈&#xf…

K8S篇之Ingress详解以及用法说明

一、Ingress简介 Ingress 是 Kubernetes 中用于管理和配置从集群外部访问集群内部服务的资源对象。它通过定义路由规则来控制外部流量的访问方式,支持基于 HTTP 和 HTTPS 的高级路由功能和安全性配置。 Ingress是一种HTTP方式的路由转发机制,为K8S服务配…

【力扣高频题】014.最长公共前缀

经常刷算法题的小伙伴对于 “最长”,“公共” 两个词一定不陌生。与此相关的算法题目实在是太多了 !!! 之前的 「动态规划」 专题系列文章中就曾讲解过两道相关的题目:最长公共子序列 和 最长回文子序列 。 关注公众…

SpringCloud 负载均衡

目录 一、负载均衡 1、问题 2、什么是负载均衡 服务端负载均衡 客户端负载均衡 二、Spring Cloud LoadBalance 1、使用 Spring Cloud LoadBalance 2、负载均衡策略 3、LoadBalancer 原理 一、负载均衡 1、问题 我们来看一下前面写的代码&#xff1a; List<Serv…

【易捷海购-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

Drools开源业务规则引擎(五)- jBPM流程图元素介绍

文章目录 Drools开源业务规则引擎&#xff08;五&#xff09;- jBPM流程图元素介绍1.process2.startEvent3.Connections3.1.sequenceFlow3.2.Association 4.Activities4.1.businessRuleTask4.2.scriptTask 5.Gateways5.1.exclusiveGateway 6.endEvent Drools开源业务规则引擎&a…

Windows netstat命令详解,Windows查看网络连接

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 netstat 常用来…

支持图片识别语音输入的LobeChat保姆级本地部署流程

文章目录 前言1. LobeChat对我们有哪些帮助?2. 本地安装LobeChat3. 如何使用LobeChat工具4. 安装Cpolar内网穿透5. 实现公网访问LobeChat6. 固定LobeChat公网地址 前言 本文主要介绍如何在Windows系统电脑本地部署LobeChat&#xff0c;一款高颜值的开源AI大模型智能应用&…

【删库跑路】一次删除pip下载的所有第三方库方法

进入命令行&#xff0c;先list看下库存 pip list导出所有的第三方库至一文件列表 pip freeze >requirements.txt按照列表卸载所有库 pip uninstall -r requirements.txt -y再list看下&#xff0c;可见库存已清空

MATLAB基础应用精讲-【数模应用】 岭回归(Ridge)(附MATLAB、python和R语言代码实现)

目录 前言 算法原理 数学模型 Ridge 回归的估计量 Ridge 回归与标准多元线性回归的比较 3. Ridge 参数的选择 算法步骤 SPSSPRO 1、作用 2、输入输出描述 3、案例示例 4、案例数据 5、案例操作 6、输出结果分析 7、注意事项 8、模型理论 SPSSAU 岭回归分析案…

第三届机器学习、云计算与智能挖掘国际会议(MLCCIM 2024)

随着科技的不断进步&#xff0c;机器学习和挖掘技术已成为推动现代社会发展的重要力量。本届机器学习、云计算与智能挖掘国际会议&#xff08;MLCCIM&#xff09;将于2024年8月8日至8月11日在中国湖北省神农架盛大召开&#xff0c;旨在汇聚全球智慧&#xff0c;共同探讨这一领域…

Linux安装elasticsearch单机版

一、检查内核 uname -a uname -m 二、下载版本 下载版本选择自己服务器相同的内核版本 我这边是aaech64 ES下载地址 Kibana 下载地址 二、上传服务器解压 tar -xvf elasticsearch-8.14.1-linux-aarch64.tar.gz 三、安装ES 因为ES不能用root用户启动先创建用户 #新增 es …

[python]Markdown图片引用格式批处理桌面应用程序

需求 使用python编写一个exe&#xff0c;实现批量修改图片引用&#xff0c;将修改后的文件生成为 文件名_blog.md。有一个编辑框&#xff0c;允许接收拖动过来md文件&#xff0c;拖入文件时获取文件路径&#xff0c;有一个编辑框编辑修改后的文件的输出路径&#xff0c;用户拖入…

抖音商城自定义小程序源码系统 前后端分离 带完整的源代码包以及搭建教程

系统概述 在当今数字化时代&#xff0c;电商平台的便捷性和个性化体验成为了吸引用户的关键。随着短视频平台的兴起&#xff0c;抖音作为其中的佼佼者&#xff0c;其商城小程序成为了商家连接消费者的新阵地。为了帮助商家快速构建个性化、高效的小程序店铺&#xff0c;本文将…

Java面试题--JVM大厂篇之深入探讨Serial GC的应用场景

目录 引言: 正文: 一、什么是Serial GC&#xff1f; 二、Serial GC的工作原理 三、适用场景 单处理器环境在单处理器环境下&#xff0c;Serial GC是一个非常好的选择。由于没有多余的处理器资源&#xff0c;单线程的垃圾回收操作不会导致额外的上下文切换开销&#xff0c…