需求場景?
目前Doris是一個典型Share-Nothing的架構(gòu), 通過綁定數(shù)據(jù)和計算資源在同一個節(jié)點獲得非常好的性能表現(xiàn). 但隨著Doris計算引擎性能持續(xù)提高, 越來越多的用戶也開始選擇使用Doris直接查詢數(shù)據(jù)湖數(shù)據(jù). 這類場景是一種Share-Disk場景, 數(shù)據(jù)往往存儲在遠端的HDFS/S3上, 計算在Doris中, Doris通過網(wǎng)絡(luò)獲取數(shù)據(jù), 然后在內(nèi)存完成計算. 而如果這兩個負載都混合在同一個集群時, 對于目前Doris的架構(gòu)就會出現(xiàn)以下不足:
- 資源隔離差, 兩個負載對集群的響應(yīng)要求不一, 混合部署會有相互的影響.
- 集群擴容時, 數(shù)據(jù)湖查詢只需要擴容計算資源, 而目前只能存儲計算一起擴容, 導致磁盤使用率變低.
- 擴容效率差, 擴容后會啟動Tablet數(shù)據(jù)的遷移, 整體過程比較漫長. 而數(shù)據(jù)湖查詢有著明顯的高峰低谷, 需要小時級彈性能力.
解決方案?
實現(xiàn)一種專門用于聯(lián)邦計算的BE節(jié)點角色:?計算節(jié)點
, 計算節(jié)點專門處理數(shù)據(jù)湖這類遠程的聯(lián)邦查詢. 原來的BE節(jié)點類型稱為混合節(jié)點
, 這類節(jié)點既能做SQL查詢, 又有Tablet數(shù)據(jù)存儲管理. 而計算節(jié)點
只能做SQL查詢, 它不會保存任何數(shù)據(jù).
有了計算節(jié)點后, 集群部署拓撲也會發(fā)生變化: 混合節(jié)點用于OLAP類型表的數(shù)據(jù)計算, 這個節(jié)點根據(jù)存儲的需求而擴容, 而計算節(jié)點用于聯(lián)邦查詢, 該節(jié)點類型隨著計算負載而擴容.
此外, 計算節(jié)點由于沒有存儲, 因此在部署時, 計算節(jié)點可以混部在HDD磁盤機器或者部署在容器之中.
Compute Node的使用?
配置?
在BE的配置文件be.conf中添加配置項:
be_node_role=computation
該配置項默認為mix
, 即原來的BE節(jié)點類型, 設(shè)置為computation
后, 該節(jié)點為計算節(jié)點.
可以通過show backends\G
命令看到其中NodeRole
字段的值, 如果是mix
, 則為混合節(jié)點, 如果是computation
, 則為計算節(jié)點
*************************** 1. row ***************************
BackendId: 10010
Cluster: default_cluster
IP: 10.248.181.219
HeartbeatPort: 9050
BePort: 9060
HttpPort: 8040
BrpcPort: 8060
LastStartTime: 2022-11-30 23:01:40
LastHeartbeat: 2022-12-05 15:01:18
Alive: true
SystemDecommissioned: false
ClusterDecommissioned: false
TabletNum: 753
DataUsedCapacity: 1.955 GB
AvailCapacity: 202.987 GB
TotalCapacity: 491.153 GB
UsedPct: 58.67 %
MaxDiskUsedPct: 58.67 %
RemoteUsedCapacity: 0.000
Tag: {"location" : "default"}
ErrMsg:
Version: doris-0.0.0-trunk-80baca264
Status: {"lastSuccessReportTabletsTime":"2022-12-05 15:00:38","lastStreamLoadTime":-1,"isQueryDisabled":false,"isLoadDisabled":false}
HeartbeatFailureCounter: 0
NodeRole: computation
使用?
在 fe.conf 中添加配置項
prefer_compute_node_for_external_table=true
min_backend_num_for_external_table=3
參數(shù)說明請參閱:FE 配置項文章來源:http://www.zghlxwxcb.cn/news/detail-657362.html
當查詢時使用MultiCatalog功能時, 查詢會優(yōu)先調(diào)度到計算節(jié)點。文章來源地址http://www.zghlxwxcb.cn/news/detail-657362.html
一些限制?
- 計算節(jié)點由配置項控制, 但不要將混合類型節(jié)點, 修改配置為計算節(jié)點.
未盡事項?
- 計算外溢: Doris內(nèi)表查詢, 當集群負載高的時候, 上層(TableScan之外)算子調(diào)度到計算節(jié)點中.
- 優(yōu)雅下線: 當節(jié)點下線的時候, 任務(wù)新任務(wù)自動調(diào)度到其他節(jié)點; 等待老任務(wù)后全部完成后節(jié)點再下線; 老任務(wù)無法按時結(jié)束時, 能夠讓任務(wù)能夠自己結(jié)束.
到了這里,關(guān)于Apache Doris 入門教程31:計算節(jié)點的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!