集群規(guī)格選型
阿里云數(shù)據(jù)庫HBase支持自由組合Master和Core節(jié)點規(guī)格,數(shù)量和盤的種類。您可以根據(jù)業(yè)務特征(如QPS、存儲量、讀寫請求、相應延遲、穩(wěn)定性等)自由搭配。
選型主要包括以下幾個方面:
Master機器的規(guī)格。
Core節(jié)點的規(guī)格和數(shù)量。
盤的大小和種類。
HBase版本。參見HBase版本選擇。
ECS版本:獨享規(guī)格。獨享規(guī)格是完全沒有資源爭搶的規(guī)格,資源保障穩(wěn)定,延遲敏感的業(yè)務請務必使用獨占且選擇SSD云盤。
Master選擇
Master節(jié)點不帶存儲,默認是主備保障單點容災。Master節(jié)點上會部署HBase的Master,HDFS的Namenode和Zookeeper等,是集群中重要節(jié)點。如果master的CPU不夠或者內(nèi)存不夠,會嚴重制約HBase的性能。
core的規(guī)模 | master選擇 |
< 4臺 | 4核/8 GB |
4 <= core數(shù) < 8 | 8核/16 GB (小規(guī)模集群推薦Master規(guī)格) |
8 <= core數(shù) <16 | 8核/32 GB |
大于16臺 | 16核/64 GB或者以上 |
Master的規(guī)格不僅受到Core節(jié)點數(shù)量的影響,還和集群上表的數(shù)量和地域的數(shù)量有關,如果集群的表數(shù)量或者地域數(shù)量非常多,Master節(jié)點也需要適當選擇高規(guī)格。
Core選擇
Core節(jié)點指HBase的RegionServer,您可根據(jù)業(yè)務請求量來選擇合適的Core節(jié)點規(guī)格。Core節(jié)點支持的范圍為:4核/8 G 至 32核/128 G。
為了達到最佳性能,通常我們以元信息能夠全部放入緩沖作為高性能的重要依據(jù)。針對不同的實例,如下給出的節(jié)點選擇示例供參考:
小實例:推薦使用4核16 GB或8核32 GB。
中大實例:根據(jù)內(nèi)存與數(shù)據(jù)量的比例,來選擇Core節(jié)點。
存儲量大:推薦使用16核64 GB或32核128 GB。
存儲量小:推薦使用16核32 GB或32核64 GB。
請求量的多少并不是Core節(jié)點選擇的唯一標準,進行節(jié)點選擇時,需要綜合多方面考慮。例如:某個業(yè)務的請求量為每秒數(shù)百,根據(jù)請求量判斷,選擇4核8 GB的節(jié)點即可。但如果該業(yè)務中,若假設存在以下幾種情況,選擇4核8 GB的Core節(jié)點可能會導致業(yè)務不穩(wěn)定和延遲上漲。
用戶請求的一行數(shù)據(jù)非常大,存在幾KB,甚至數(shù)MB。
Scan請求中存在復雜的Filter。
請求的Cache命中率很低,每個請求都會請求磁盤。
集群上表和region非常多。
若需要輔助容量評估,請在釘釘上聯(lián)系云HBase答疑
釘釘號或者發(fā)起工單咨詢。
下表給出一些簡單的建議,但是評估Core節(jié)點的規(guī)格需要綜合多方面考慮。
TPS+QPS | Core的個數(shù)及選擇 | 建議 |
小于1000 | 2臺 4核16 GB | 推薦的最低規(guī)格,適合低負載訪問。每臺Core節(jié)點上的region不宜超過600個。 云HBase中能買到的最低Core節(jié)點為4核8 GB,但不推薦4核8 GB規(guī)格,8 GB的內(nèi)存過小,在面對高峰和大KV時容易出現(xiàn)OOM等不穩(wěn)定現(xiàn)象。 |
1000 ~ 2W | 2~3臺 8核32 GB | 8核32 GB是我們推薦的適合中低負載的規(guī)格,價格相比8核16 GB貴的不多,但內(nèi)存翻倍,穩(wěn)定性更好。 |
2W以上 | 8核32 GB,16核32 GB,16核64 GB,32核64 GB,32核128 GB, 或者以上 | 按照實際請求量選擇Core節(jié)點的數(shù)量,如果是在線型業(yè)務,適當選擇大內(nèi)存機型來增加Cache命中率來提高性能。如果有MR/Spark等離線大負載任務要運行或者TPS/QPS非常高,需要適當選擇大核機器。 |
選擇高配置機器還是更多Core節(jié)點?
HBase支持水平無限擴展,當出現(xiàn)負載過高,延遲變高,不穩(wěn)定,可以通過水平增加Core節(jié)點解決。但是由于業(yè)務設計的問題或者使用問題,很可能出現(xiàn)單機熱點,因此Core節(jié)點的規(guī)格決定了單機抗熱點的能力。因此把Core節(jié)點的規(guī)格選擇的特別低,只通過水平擴展Core節(jié)點的方式,在面對風險時的穩(wěn)定性會沒有高配機型來得強。如果有瞬時的大請求打過來,或者偶發(fā)的熱點流量(在一個地域),低配的機器可能會出現(xiàn)負載過高或者OOM影響整體的穩(wěn)定性。
因此,我們建議Core節(jié)點的規(guī)格要根據(jù)業(yè)務事先做好評估,選擇合適規(guī)格的Core節(jié)點。
如果事先選擇的Core節(jié)點或者Master節(jié)點規(guī)格無法滿足要求,我們還將提供原地升配的功能,將Core/Master的配置升級到合適規(guī)格,詳情請釘釘上聯(lián)系云HBase答疑
(釘釘號:s0s3eg3)或者發(fā)起工單咨詢。
存儲介質(zhì)
存儲介質(zhì)分為3個大類,云盤,本地盤和冷存儲。
云盤: 云盤的特點是靈活和高可靠。云盤本身有副本冗余,完全屏蔽了硬件細節(jié),不會因為壞盤等原因丟失數(shù)據(jù)。并且可以自由擴容,是業(yè)務的首選存儲介質(zhì)。云盤分為SSD云盤和高效云盤。
本地盤: 本地盤即真實的物理盤,特點是價格比云盤便宜,但是本地盤大小與機型強綁定,不能對單塊磁盤擴容,只能通過增加Core節(jié)點來增加存儲容量,而且本地盤機型ECS也不支持升配,靈活性沒有云盤強。同時,本地盤如果出現(xiàn)壞盤會對用戶產(chǎn)生影響(單塊壞盤不會出現(xiàn)丟數(shù)據(jù),出現(xiàn)壞盤后,云HBase團隊會第一時間處理更換)。本地盤購買的起步較高,適合存儲容量大的大客戶。
冷存儲:阿里云HBase特有存儲,基于OSS實現(xiàn),冷存儲可以搭配云盤使用,用戶可以將不常用數(shù)據(jù)存儲到冷存儲或者使用冷熱分離功能自動實現(xiàn)冷數(shù)據(jù)歸檔來降低成本。
在選定了存儲介質(zhì)后,集群的存儲介質(zhì)不可以再更改,其中云盤可以通過擴容或者增加Core節(jié)點來增加容量,但本地盤只能通過增加Core節(jié)點擴容。例外的是冷存儲,冷存儲功能不一定需要在開通HBase集群時購買,可以在之后的使用過程中隨時開通和擴容。
冷熱程度 | 介質(zhì)類型 | 業(yè)務類型 |
高性能 | SSD云盤/本地SSD盤/ESSD云盤 | 適合對延遲要求高的在線業(yè)務,如廣告、推薦、Feed流、人物畫像等業(yè)務,SSD/ESSD盤的延遲低,通常在1~2ms左右,最重要的是毛刺率低。對P99延遲(99%請求的最大延遲)在意的用戶首選。 |
高效能 | 高效云盤/本地HDD盤 | 適合對延遲要求一般的在線業(yè)務,HDD盤的延遲通常在10ms量級,但毛刺率要比SSD盤要大。 |
冷數(shù)據(jù) | OSS(冷存儲) | 準在線業(yè)務,或者歸檔業(yè)務。冷存儲配合云盤/本地盤寫吞吐基本與云盤/本地盤一致。但讀冷存儲QPS有限制,讀延遲通常在數(shù)十毫秒量級。 |