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.pswp.cn/diannao/42932.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42932.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42932.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從0到1搭建個性化推送引擎:百數教學帶你掌握核心技術

百數低代碼的推送提醒功能允許用戶高度自定義提醒規則,支持多種提醒方式(如釘釘、企業微信、微信、短信、語音、郵件等),以滿足不同場景下的需求。 通過預設字段和模板,用戶可以快速編輯提醒內容,減少重復…

BaseServlet的封裝

創建BaseServlet的必要性 如果不創建BaseServlet,現在我們只要實現一個功能,我們就需要創建一個servlet! 例如:用戶模塊(登錄,注冊,退出錄,激活,發送郵件等等功能) 也就是說,我們必須要創建一…

idea無法實力化id

解決:https://blog.csdn.net/qq_41264674/article/details/83409810?ops_request_misc&request_id&biz_id102&utm_termSerializable%E4%B8%8D%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E5%AE%9E%E5%8A%9B%E5%8C%96id&utm_mediumdistribute.pc_search_…

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.單鏈表的實現 1.鏈表的概念及結構 概念:鏈表是一種物理存儲結構上非連續、非順序的存儲結構,數據元素的邏輯順序是通過鏈表 中的指針鏈接次序實現的 。 鏈表的結構跟火車車廂相似,淡季時車次的車廂會相應減少&…

【基礎算法總結】分治—歸并

分治—歸并 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…

Trick : 10^x 以內最多的因子數

Trick : 1 0 x 10^x 10x 以內最多的因子數 1 0 5 10^5 105 以內具有最多的因子數的數是 83160,它有 128 個因子 ; 1 0 6 10^6 106 以內具有最多因子數的數是 720720,它有 240 個因子 ; 所以遇到需要枚舉因子的,預處理之后大膽枚舉就可以&…

Python 爬蟲 tiktok API接口獲取tiktok用戶關注列表

此接口可獲取tiktok用戶關注列表。若有需要,請點擊文末鏈接聯系我們。 詳細采集頁面如下https://www.tiktok.com/quanap_official 請求API http://api.xxxx.com/tt/user/following?user_id7252644648840381445&count10&offset0&tokentest 請求參數 返…

Impala寫Parquet文件

Impala Parquet相關代碼 https://github.com/cloudera/Impala/search?l=cpp&q=parquet&ref=cmdform 沒有可重用的庫接口,需要在代碼里去看,提取出來,直接使用源碼。 調用關系如下(自右向左調用): HdfsParquetTableWriter(HdfsTableWriter)<-HdfsTableSink<…

改進Transformer模型其實也不難

聲明&#xff1a;文章是從本人公眾號中復制而來&#xff0c;因此&#xff0c;想最新最快了解各類智能優化算法及其改進的朋友&#xff0c;可關注我的公眾號&#xff1a;強盛機器學習&#xff0c;不定期會有很多免費代碼分享~ 目錄 原理簡介 數據介紹 結果展示 完整代碼 之前…

列表(定義、引用、修改、切片和用途)

什么是列表 列表是 Python 中最常用的數據類型之一。它是一種有序、可變&#xff0c;異構的數據集合&#xff0c;可以存儲多個不同類型的元素。 列表的特點 列表是 Python 中的一種數據結構&#xff0c;具有以下特點&#xff1a; 有序性&#xff1a; 列表中的元素按照添加的…

【學術會議征稿】第五屆計算機工程與智能控制學術會議(ICCEIC 2024)

第五屆計算機工程與智能控制學術會議&#xff08;ICCEIC 2024) 2024 5th International Conference on Computer Engineering and Intelligent Control 第五屆計算機工程與智能控制學術會議&#xff08;ICCEIC 2024&#xff09;將于2024年10月18日至22日在廣州舉辦&#xff0…

improved-diffusion代碼逐行理解之train

目錄 代碼理解1、解析命令行參數2、分布式設置和日志配置3、創建模型和擴散過程4、加載數據5、訓練循環6、訓練過程中的關鍵點7、日志和模型保存 代碼 improved-diffusion代碼地址&#xff1a;https://github.com/openai/improved-diffusion 運行代碼會遇到的幾個問題&#xf…