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: 10003Cluster: default_clusterIP: 192.168.193.142HostName: node2HeartbeatPort: 9050BePort: -1HttpPort: -1BrpcPort: -1LastStartTime: NULLLastHeartbeat: NULLAlive: falseSystemDecommissioned: falseClusterDecommissioned: falseTabletNum: 0DataUsedCapacity: 0.000 AvailCapacity: 1.000 BTotalCapacity: 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: 28NodeRole: 
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: 10003Cluster: default_clusterIP: 192.168.193.142HostName: node2HeartbeatPort: 9050BePort: 9060HttpPort: 7040BrpcPort: 8060LastStartTime: 2024-07-07 00:04:41LastHeartbeat: 2024-07-07 00:10:30Alive: trueSystemDecommissioned: falseClusterDecommissioned: falseTabletNum: 0DataUsedCapacity: 0.000 AvailCapacity: 8.310 GBTotalCapacity: 26.979 GBUsedPct: 69.20 %MaxDiskUsedPct: 69.20 %RemoteUsedCapacity: 0.000 Tag: {"location" : "default"}ErrMsg: Version: doris-1.2.4-1-UnknownStatus: {"lastSuccessReportTabletsTime":"2024-07-07 00:10:05","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false}
HeartbeatFailureCounter: 0NodeRole: 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.mzph.cn/diannao/42932.shtml

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

相关文章

从0到1搭建个性化推送引擎:百数教学带你掌握核心技术

百数低代码的推送提醒功能允许用户高度自定义提醒规则,支持多种提醒方式(如钉钉、企业微信、微信、短信、语音、邮件等),以满足不同场景下的需求。 通过预设字段和模板,用户可以快速编辑提醒内容,减少重复…

BaseServlet的封装

创建BaseServlet的必要性 如果不创建BaseServlet,现在我们只要实现一个功能,我们就需要创建一个servlet! 例如:用户模块(登录,注册,退出录,激活,发送邮件等等功能) 也就是说,我们必须要创建一…

java-数据结构与算法-02-数据结构-03-递归

1. 概述 定义 计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集 In computer science, recursion is a method of solving a computational problem where the solution depends on solutions to smaller instances…

IT项目经理转行大模型,项目经理的进来,你想知道的都在这里非常详细

大模型(如人工智能、机器学习和深度学习模型)可以通过提供数据驱动的决策支持、自动化流程和预测分析来赋能IT项目经理。这些工具可以帮助项目经理更有效地管理项目,预测潜在的风险,并提高项目成功的可能性。以下是IT项目经理如何…

IPD流程学习笔记

一、前言 互联网行业讲究的是快速试错,所以IPD流程的应用并不多,但是传统企业数字化转型中,怎么确保项目投入可以切合市场需求,有较好的ROI及落地性,轻量级的IPD还是很有必要了解下的,特别是重资产类的业务…

探讨大数据在视频汇聚平台LntonCVS国标GB28181协议中的应用

随着摄像头和视频监控系统的普及和数字化程度的提高,视频监控系统产生的数据量急剧增加。大数据技术因其优秀的数据管理、分析和利用能力,成为提升视频监控系统效能和价值的重要工具。 大数据技术可以将视频监控数据与其他数据源进行融合分析&#xff0c…

libaom 编码器实验 AV1 标准 SVC 分层编码

SVC编码 视频SVC编码,即Scalable Video Coding(可适性视讯编码或可分级视频编码),是H.264/MPEG-4 AVC编码的一种扩展,它提供了更大的编码弹性,并且具有时间可适性(Temporal Scalability&#x…

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

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

NFTScan | 07.01~07.07 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2024.07.01~ 2024.07.07 NFT Hot News 01/ 数据:Mad Lads 地板价回升至 100 SOL 上方,24 小时涨幅为 13.65% 7 月 1 日,据数据显示,Solana…

ARM架构以及程序运行解析

文章目录 1. ARM架构 2. ARM处理器程序运行的过程 3. 示例 3. 基于ARM架构的STM32单片机 1. 运行模式 2. 寄存器组 3. STM32的基本结构 4. STM32的运行模式 4. 寄存器组详解 1. 未备份寄存器 2. 备份寄存器 3. 程序计数器 4. 程序状态寄存器 5. CPSR和SPSR寄存器…

【Unity】UGUI的基本介绍

Unity的UGUI(Unity User Interface)是Unity引擎内自带的UI系统,官方称之为UnityUI,是目前Unity商业游戏开发中使用最广泛的UI系统开发解决方案。以下是关于Unity的UGUI的详细介绍: 一、UGUI的特点 灵活性&#xff1a…

Python 爬虫 tiktok API接口获取tiktok用户关注列表

此接口可获取tiktok用户关注列表。若有需要,请点击文末链接联系我们。 详细采集页面如下https://www.tiktok.com/quanap_official 请求API http://api.xxxx.com/tt/user/following?user_id7252644648840381445&count10&offset0&tokentest 请求参数 返…

改进Transformer模型其实也不难

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 原理简介 数据介绍 结果展示 完整代码 之前…

【学术会议征稿】第五届计算机工程与智能控制学术会议(ICCEIC 2024)

第五届计算机工程与智能控制学术会议(ICCEIC 2024) 2024 5th International Conference on Computer Engineering and Intelligent Control 第五届计算机工程与智能控制学术会议(ICCEIC 2024)将于2024年10月18日至22日在广州举办&#xff0…

LDR6282-显示器:从技术革新到视觉盛宴

显示器,作为我们日常工作和娱乐生活中不可或缺的一部分,承载着将虚拟世界呈现为现实图像的重要使命。它不仅是我们与电子设备交互的桥梁,更是我们感知信息、享受视觉盛宴的重要窗口。显示器在各个领域的应用也越来越广泛。在办公领域&#xf…

Gradle使用插件SonatypeUploader-v2.6上传到maven组件到远程中央仓库

本文基于sonatypeUploader 2.6版本 插件的使用实例:https://github.com/jeadyx/SonatypeUploaderSample 发布步骤 提前准备好sonatype账号和signing配置 注:如果没有,请参考1.0博文的生成步骤: https://jeady.blog.csdn.net/art…

收银系统源码-营销活动-幸运抽奖

1. 功能描述 营运抽奖:智慧新零售收银系统,线上商城营销插件,商户/门店在小程序商城上设置抽奖活动,中奖人员可内定; 2.适用场景 新店开业、门店周年庆、节假日等特定时间促销;会员拉新,需会…

SQLServer连接异常

2. 文件夹对应的是[internal].[folders]表,与之相关的权限在[internal].[folder_permissions]表 项目对应的是[internal].[projects]表,与之相关的权限在[internal].[project_permissions],版本在[internal].[object_versions]表。 环境对应…

MongoDB本地配置分片

mongodb server version: 7.0.12 社区版 mongo shell version: 2.2.10 平台:win10 64位 控制台:Git Bash 分片相关节点结构示意图 大概步骤 1. 配置 配置服务器 副本集 (最少3个节点) -- 创建数据目录 mkdir -p ~/dbs/confi…

华为eNSP:HCIA汇总实验

本次拓扑实验需求: 1、内网地址用DHCP 2、VLAN10不能访问外网 3、使用静态NAT 实验用到的技术有DHCP、划分VLAN、IP配置、VLAN间的通信:单臂路由、VLANIF,静态NAT、基本ACL DHCP是一种用于自动分配IP地址和其他网络参数的协议。 划分VLA…