日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BDS-HA:构建高可用、低延迟的HBase服务

發布時間:2024/8/23 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BDS-HA:构建高可用、低延迟的HBase服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HBase可以支持百TB數據規模、數百萬QPS壓力下的毫秒響應,適用于大數據背景下的風控和推薦等在線場景。阿里云HBase服務了多家金融、廣告、媒體類業務中的風控和推薦,持續的在高可用、低延遲、低成本方向上進行優化。目前單集群承諾可用性99.9%,SSD機型上可以做到請求毛刺99.5% < 50ms,以及新上線的表內冷熱分離可以加速熱數據訪問性能、減少冷數據存儲成本并且在API上對用戶透明。為了進一步滿足客戶在可用性以及低延遲上的訴求,阿里云HBase將提供以主備架構為平臺,以冗余、并發、隔離、降級等全方位服務為支撐的高可用解決方案,目標提供99.99%可用性、99.9%請求小于50ms。目前高可用項目一期已經完成,本文將介紹主備架構以及一鍵切換能力。

HBase單集群可用性

一個HBase系統包含了Zookeeper、HDFS、HBase三個組件。其中Zookeeper在數據和計算上都進行了冗余,且是一個可自愈系統,單節點故障可在秒級恢復。HBase對Zookeeper是輕依賴,一般不會出現大問題。HDFS是一個Master-Slave模式的分布式文件系統,存在中心節點Namenode,Namenode支持以HA方式部署,單Namenode故障可秒級恢復,在兩個NN都宕機的情況下依然可以重啟自愈,但恢復時間取決于回放日志大小,在分鐘級別。數據多副本冗余,Datanode單節點宕機不中斷服務。HBase也是一個Master-Slave模式的分布式系統,其中HMaster不參與讀寫路徑,因此HMaster宕機不中斷服務,但長期宕機會影響負載均衡、Failover等能力,HMaster支持HA方式部署。HBase還有一個單點是Meta服務,它隨機選擇一個RegionServer節點作為宿主,如果meta服務不可用則所有請求路由會失效,導致整體不可用。由于客戶端有路由緩存,meta服務停機不會立即造成不可用。HBase數據分片使用Range Partition的方式,每一個Region由一個RegionServer服務,即HBase的計算服務是0冗余,因此當RegionServer故障時多個分片不可服務。HBase Failover機制可以自愈,單RegionServer宕機恢復時間在分鐘級,多個RegionServer宕機恢復時間在10分鐘~1小時時間不等。

單集群HBase高可用部署

組件角色高可用機制故障影響
Zookeeper?數據、計算冗余單點宕機秒級服務
HDFSNamenode雙節點HA部署單點宕機秒級恢復,雙節點宕機恢復時間在分鐘級
?Datanode數據、計算冗余單點宕機不中斷服務
HBaseHMaster雙節點HA部署不影響數據讀寫
?Meta服務單點,可自愈影響全局不可用
?Region單點,可自愈局部不可用,單點分鐘級恢復,多點恢復時間可達小時級別

內核或運行環境Bug造成HBase自愈不可控

case1 某金融公司自建HBase因ECS重啟導致WAL數據破壞,HBase Failover無法進行,集群不可用無法自愈
case2 某視頻公司自建HBase集群Meta數據陷入不一致無法恢復,造成分區無法上線,部分表不可用無法自愈
case3 某媒體公司IO壓力較大經常觸發空間泄漏Bug,導致空間不足集群宕機無法自愈?
以上是真實的案例,Bug是不可避免的,未知Bug處理考驗內核團隊的技術實力,需要具備外科手術的能力,但其處理時間是不可預期的。

云HBase主備高可用方案

故障恢復時間可預知的高可用系統,故障發生時可以在分鐘級別恢復讀寫能力。實現方案選擇經典的主備模式,也支持主主模式。備集群部署在同城的不同機房內,在資源層面完全隔離,軟件可部署不同的版本,最大程度保持兩個集群的獨立性。從經驗數據出發,單機房故障恢復時間的上限為1個小時,在這1個小時內另一個機房也發生故障的概率非常低,有兩種情況除外:第一種是城市級災難,這個需要異地容災方案;第二種是故障源于業務流量增長,系統過載,此時的解決方案是限流或者擴容。這兩種情況不在本文設計考慮之內。系統提供一鍵切換能力,不需要客戶端重啟,每一個客戶端在收到切換信號時會自動完成連接的切換,客戶端的切換是并發進行的,所有客戶端可以在10秒內完成切換。

高可用方案可以獨立提供給自建使用,支持自建和云HBase混合主備。如果你已經擁有一個HBase集群,可以方便的彈出一個冗余備集群,備集群的建表和數據復制都是自動完成。當故障發生時,可以在控制臺切換流量到備庫,待主集群恢復后再把流量切回。云HBase高可用服務是一個獨立的服務,可以看做是基于HBase之上的一個中間件,支持混合云是我們的設計原則,云上同VPC下的自建HBase、EMR HBase、云HBase可以方便的進行主備混合使用,對于IDC自建HBase或者它云上的HBase則需要用戶自行解決網絡聯通。

簡單易用,HBase客戶端從普通模式轉化為高可用模式不需要修改代碼。云HBase會提供一個插件集成到HBase客戶端,并且為高可用提供一個新的Endpoint。這個Endpoint就是簡單的 ip+port,用來替換單集群模式下的Zookeeper地址。用戶可以選擇核心表進行高可用建設,非核心表依然保持單集群來降低成本。對于高可用的表,可以通過高可用客戶端進行創建、修改和刪除,控制臺會保證主備集群元數據的一致性。目前我們支持0.96、0.98、1.x、2.x、云HBase增強版等多個版本。

?0.961.x2.x云增強版
0.96YESNONOYES
1.xNOYESYESYES
2.xNOYESYESYES
云增強版YESYESYESYES

?

版本主備兼容性列表

綜上所述,云HBase主備高可用架構如下圖:

  • 數據同步

云HBase并沒有采用開源的Replication方案,主要的原因包括:
HBase Replication抗熱點能力差,每臺機器只能處理自己的日志
HBase Replication Failover的設計存在缺陷,導致一旦RS宕機就會出現長時間同步延遲
HBase Replication與內核爭搶資源,無法獨立擴容
HBase Replication的管理依賴表屬性配置,配置項很多,在混合云模式下很難維護

BDS Replication是一個獨立的數據復制服務,提供延遲百毫秒級別的雙向數據同步能力。BDS?Replication可以獨立的擴容縮容,它不需要磁盤,可以更好的管理成本。

  • 主備一致性

云HBase主備采用的是異步復制,提供基于版本的最終一致性。寫入主庫的一行數據在同步到備庫時,會保持和主庫一致的版本號。云HBase高可用目前僅支持最終一致性切換,在切換時主備可能存在秒級的不一致。對于風控、推薦、畫像類的應用,最終一致性是滿足需求的。如果您使用了CheckAndPut、CheckAndDelete這樣的接口則會出現一致性問題,此種情況請聯系云HBase提供技術咨詢。

  • 配置服務

配置服務有兩個作用,存儲主備集群的地址信息和通知切換命令。高可用客戶端在啟動時會訪問該服務加載主備集群地址信息。通過控制臺執行的切換命令也會由配置服務通知所有的客戶端。配置服務本身采用了冗余來保障存儲和消息的高可用。

  • 監控

高可用服務可以實時顯示主備集群的狀態。主、備角色在初始配置時確定不能更改,但狀態"active/standby"是可變化的,處于"active"狀態的集群是目前客戶端訪問的集群。提供主備集群雙向同步鏈路的實時延遲展示,同時提供客戶端鏈接數量監控,使得用戶可以準確的判斷切換進度。

云HBase高可用使用方式

如果您已經使用了云HBase并且希望增加一個備庫,只需如下步驟
1 購買一個BDS集群用于管理主備
2 購買一個空的云HBase集群作為備庫
3 輸入主備兩個集群的實例ID創建高可用訪問地址
4 開始您的高可用之旅

如果您使用的是ECS自建集群或者EMR HBase,希望增加一個備庫,只需如下步驟

1 購買一個BDS集群用于管理主備
2 購買一個空的云HBase集群作為備庫
3 配置域名映射和安全組(會提供相關的服務一鍵解決)
4 輸入主備兩個集群的地址信息創建高可用訪問地址
5 開始您的高可用之旅


原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的BDS-HA:构建高可用、低延迟的HBase服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。