我為什麼建議自建Hbase集群的都應該遷移過來?
引言
最近雲HBase商業化了,HBase在業界應用還是比較廣泛。在雲上環境下中,不少客戶都自建了HBase集群,還有一部分用戶是把HBase集群放在Hadoop離線集群內部。此文主要對比下雲HBase資料庫跟自建HBase的差異。另外,在成本上,雲HBase資料庫跟自建基本差不多,目前雲HBase在推廣打折階段,比自建還便宜不少
自建HBase與ApsaraDB HBase對比
自建目前在雲上,基本是基於ecs去自己構建,ApsaraDB HBase我們還是做了不少事情的:
ApsaraDB HBase的內核在阿里集團使用5年,還是有不少的沉澱的,在一些場景有300%的性能提升,大部分場景都至少有30%的提升,在穩定性恢復恢復速度快3倍左右。阿里現在有3個hbase pmc,6個committer了,有將近25+個人弄hbase
ApsaraDB HBase的內核會主動修復bug,改進功能,升級的,把高版本有價值的patch打到我們的ApsaraDB HBase內核版本上。自己建設 往往要去下載新版本弄,有時候搞不好數據還丟了
安全機制比較健全,如:白名單、VPC、訪問UI的賬號密碼,還有安全部門非得讓弄成https加密的。後續會接阿里雲的ak,支持共享環境訪問ApsaraDB HBase,比如ODPS,開源版本是不行的
9月份會支持公網開放:比較方便支持線下測試開發連接環境。(不需要vpn、自建線下搭建或者proxy了)
運維還是比較便利的:5分鐘全自動部署新集群、 可以在線擴容磁碟、容量報警、添加節點、修改配置、指標可視化、自動守護進程、鏈路監控報警 、熱點檢測轉移、大scan過期清理 ………………
可以說這個是 ApsaraDB HBase的大概層次圖:
關於把Hbase放到離線集群的壞處
之前阿里雲沒有提供ApsaraDB HBase的產品,在EMR我們包裝了一個開源的HBase,不少用戶就使用了這個HBase,後續造成EMR運維上很大的困難,hbase經常是由於離線作業跑的時候會掛掉,但是這個時候正式需要訪問hbase的時候,如果這個時候有實時入庫或者查詢的操作,則影響非常大。另外,我們還不得不分配一定的資源給Regionserver,RS還是非常吃內存的,造成離線任務根本不夠用的情況。為此,我們就把單獨做了ApsaraDB HBase這個產品,做成全託管的方式,以取代EMR中的HBase
關於節約資源
在用戶自建HBase集群時,不少客戶基於CDH把HBase放在Hadoop中,想法主要是節約一些資源或者麻煩單獨弄一個HBase。其實在雲上環境中,磁碟及CPU及內存都是可以在線直接擴容的,比如ApsaraDB HBase的磁碟可以最低每次8G的擴容,計算資源也可以單獨添加節點。 資源本身基本是很小粒度可以增加的。整體資源其實是相當的(因為HBase需要起著就佔資源),另外,如果把分析按量跑,其實成本反到下降不少(EMR支持定時按需跑job)。另外,還可以享受穩定及高性能的服務。
關於性能
spark訪問hbase,再hbase放在hdfs。其實spark並不能享受本地化的好處,spark往往訪問region的,region往往不在這個機器上,比如你有10台機器,則在這個上面的概率是10%,再region訪問hdfs,則又只有10%(好的情況可能高點),一算下來,只有1%的概率可以本地化訪問。且要走2次進程轉化(一般hbase要解壓、反編碼等一些列的操作),其實這個時間遠大於帶寬的傳輸的時間。帶寬傳輸時間基本可以忽略。
ApsaraDB HBase跟客戶的ECS或者EMR連接,採取的是點到點的連通方式,走的是跟ECS自建集群一樣的內網帶寬(完全免費),完全沒有區別,其實就跟訪問集群內部一樣。 跟一些有中轉節點的模式不一樣,ApsaraDB HBase的regionserver都是可以直連客戶端的。
帶來的好處
離線可以按需話 - emr提供按需跑的spark,比如晚上跑2個小時等,此極大降低成本
離線基本不影響在線或者近線 - 比如入庫、訪問等不受影響
如果把HBase遷移到ApsaraDB HBase,則享受ApsaraDB HBase的高性能、運維服務及專家服務
寫在最後
如果你想遷移,直接使用copytable拷貝吧,還是挺快的。如果你的數據超過10T,可以聯繫我們。 如果你想來試用下,那就直接按需買一個跑跑,最低6元左右一個小時。
※了解人工智慧之分類和預測-數據科學中的預測,分類和回歸分析
※Terraform助力ECS實例藉助RAM管理阿里雲產品
※擁抱API經濟:教你三步使用SDK玩轉阿里雲API
※聽阿里雲CDN安防技術專家金九講SystemTap使用技巧
TAG:雲棲社區 |
※如何搭建 Redis 集群
※Redis集群搭建
※構建 Hadoop 集群
※搭建Elasitc stack集群需要注意的日誌問題
※用戶吐槽 Azure Kubernetes,因其搞砸了集群!
※docker zookeeper 集群搭建
※Storm集群搭建小結
※SpringCloud如何實現Eureka集群、HA機制?
※Docker Compose搭建MySQL主從複製集群
※快速安裝與配置kubernetes集群搭建
※離線環境快速搭建ElasticSearch集群
※Keepalived+LVS+nginx搭建nginx高可用集群
※SpringCloud實現Eureka集群配置
※docker kafka 集群搭建實戰
※如何構建一個安全的Glusterfs分散式文件系統集群?
※Kubernetes大集群怎麼管?基於監控的彈性伸縮方法
※大規模集群下的Hadoop NameNode
※Redis集群配置詳解
※如何在Kubernetes中管理和操作Kafka集群
※如何在本地數據中心安裝Service Fabric for Windows集群