自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

阿里肖冰:如何實(shí)現(xiàn)分鐘級(jí)別的HBase宕機(jī)恢復(fù)

原創(chuàng)
開(kāi)發(fā) 架構(gòu) 大數(shù)據(jù)
2016年4月14-15日,由51CTO傳媒主辦的WOT2016互聯(lián)網(wǎng)運(yùn)維與開(kāi)發(fā)者大會(huì)在北京珠三角JW萬(wàn)豪酒店召開(kāi)。秉承專(zhuān)注技術(shù)、服務(wù)技術(shù) 人員的理念,自2012年以來(lái),WOT品牌大會(huì)已經(jīng)成功舉辦九屆,積累了大量的技術(shù)專(zhuān)家資源,獲得了廣大IT從業(yè)者和技術(shù)愛(ài)好者的一致認(rèn)可,成為了業(yè)界重要的技術(shù)分享交流平臺(tái)以及人脈拓展平臺(tái)。

Apache HBase是一個(gè)面向線上服務(wù)的數(shù)據(jù)庫(kù),其原生支持Hadoop的特性,使其成為那些基于Hadoop的擴(kuò)展性和靈活性進(jìn)行數(shù)據(jù)處理的應(yīng)用顯而易見(jiàn)的選擇,近幾年在全球得到了快速發(fā)展。

對(duì)任何一款數(shù)據(jù)存儲(chǔ)產(chǎn)品進(jìn)行評(píng)價(jià)時(shí),高可用性(HA)都是一個(gè)核心的考量指標(biāo),也是核心業(yè)務(wù)應(yīng)用的先決條件。然而硬件故障、斷網(wǎng)斷電以及諸多不可預(yù)料的故障時(shí)刻都在挑戰(zhàn)著HBase的高可用性。從2011年開(kāi)始,阿里就開(kāi)始了在HBase上的應(yīng)用研究和探索之路,目前已擁有上萬(wàn)臺(tái)HBase集群規(guī)模。經(jīng)歷過(guò)近五年時(shí)間的大量業(yè)務(wù)錘煉,阿里HBase在性能優(yōu)化、功能完善、高可用性改進(jìn)等方面,都積累了大量經(jīng)驗(yàn)。

在WOT2016互聯(lián)網(wǎng)運(yùn)維與開(kāi)發(fā)者大會(huì)現(xiàn)場(chǎng),51CTO記者獨(dú)家專(zhuān)訪到阿里巴巴集團(tuán)技術(shù)保障部系統(tǒng)工程師肖冰,探尋阿里HBase高可用性改善方面的技術(shù)細(xì)節(jié)。

嘉賓簡(jiǎn)介

[[165438]]

肖冰,阿里巴巴集團(tuán)技術(shù)保障部系統(tǒng)工程師,入職以來(lái)一直從事阿里HBase集群的一線運(yùn)維工作,負(fù)責(zé)保障整個(gè)阿里集團(tuán)HBase集群的穩(wěn)定性和高可用。承擔(dān)HBase大促核心業(yè)務(wù)單元化改造、MTTR落地、混合存儲(chǔ)落地等重要工作。

肖冰介紹,阿里HBase團(tuán)隊(duì)的職責(zé)分工主要為兩個(gè)方向,一是運(yùn)維團(tuán)隊(duì),主要幫助阿里內(nèi)部的各業(yè)務(wù)方制訂存儲(chǔ)方案,并負(fù)責(zé)后期的穩(wěn)定護(hù)航;另外是HBase源碼開(kāi)發(fā)團(tuán)隊(duì),主要是做代碼層的HBase優(yōu)化,提升HBase整體性能。這兩支隊(duì)伍緊密合作,基于阿里巴巴自身業(yè)務(wù)場(chǎng)景和特點(diǎn),對(duì)社區(qū)HBase進(jìn)行深度定制與改進(jìn),從解決方案、穩(wěn)定護(hù)航、發(fā)展支撐方面為集團(tuán)內(nèi)部的各業(yè)務(wù)部門(mén)提供一整套完善NoSQL服務(wù)。

阿里HBase主要用于存放大量線上關(guān)鍵業(yè)務(wù)的數(shù)據(jù),比如我們常用的支付寶錢(qián)包中用戶(hù)帳單、消費(fèi)記錄、通訊錄聯(lián)系人、在淘寶購(gòu)物時(shí)賣(mài)家向買(mǎi)家發(fā)送的物流詳情等數(shù)據(jù)??偟膩?lái)說(shuō),Hbase面向的都是大數(shù)據(jù)量、大吞吐,并且存儲(chǔ)和讀取相對(duì)簡(jiǎn)單的業(yè)務(wù)。它的優(yōu)勢(shì)在于服務(wù)能力能夠快速水平擴(kuò)展,并且單集群就可以支撐上百萬(wàn)甚至上千萬(wàn)的TPS、QPS。

阿里HBase集群高可用之路

阿里Hbase的運(yùn)維監(jiān)控集中在兩個(gè)層面。一是監(jiān)控報(bào)警系統(tǒng),主要用來(lái)監(jiān)控網(wǎng)絡(luò)、CPU損耗等集群本身進(jìn)程的健康狀態(tài)。另外是對(duì)業(yè)務(wù)層面的監(jiān)控,也就是根據(jù)業(yè)務(wù)需求在代碼里面設(shè)置許多信息采集的錨點(diǎn),來(lái)統(tǒng)計(jì)某一集群在一段時(shí)間的TPS、QPS、網(wǎng)絡(luò)IO是多少。通過(guò)這兩個(gè)層面監(jiān)控的配合,來(lái)精準(zhǔn)定位問(wèn)題,解決問(wèn)題。

為了使集群可用率達(dá)到四個(gè)九的標(biāo)準(zhǔn),阿里HBase主要通過(guò)單機(jī)故障的快速恢復(fù)機(jī)制、跨機(jī)房跨地域的集群部署以及快速透明的主備切換方式將這些問(wèn)題攻破。

縮短節(jié)點(diǎn)宕機(jī)恢復(fù)速度

節(jié)點(diǎn)宕機(jī)、大請(qǐng)求等情況都會(huì)直接影響讀寫(xiě)請(qǐng)求,威脅集群的可用率。肖冰講到,他們主要是通過(guò)并發(fā)的數(shù)據(jù)恢復(fù),來(lái)將整個(gè)集群的宕機(jī)速度從最初需要一個(gè)小時(shí)左右的時(shí)間,縮短至15、6分鐘內(nèi),就可以完成200臺(tái)以上集群從宕機(jī)到拉起的動(dòng)作。

作何一個(gè)技術(shù)方案從設(shè)計(jì)到真正落地,都需要進(jìn)行不斷的試錯(cuò)和調(diào)優(yōu),肖冰他們也是如此。“我們這個(gè)業(yè)務(wù)剛上線的時(shí)候,理論上來(lái)講恢復(fù)速度應(yīng)該要比之前的方式要快。但是很多情況下,數(shù)據(jù)恢復(fù)的速度比我們預(yù)想的要慢很多,甚至在某些場(chǎng)景下的速度還不如以前。我們需要基于實(shí)際情況不斷做優(yōu)化。”

比如說(shuō)在進(jìn)行并發(fā)數(shù)據(jù)恢復(fù)時(shí),如果對(duì)正常的用戶(hù)請(qǐng)求和恢復(fù)數(shù)據(jù)都執(zhí)行了寫(xiě)入操作,這兩個(gè)寫(xiě)入請(qǐng)求就會(huì)互相爭(zhēng)搶資源,從而導(dǎo)致整個(gè)集群的恢復(fù)速度被大大拖慢。為了解決這個(gè)問(wèn)題,阿里HBase針對(duì)許多細(xì)節(jié)進(jìn)行優(yōu)化,比如設(shè)置限定開(kāi)關(guān),考慮到應(yīng)該側(cè)重恢復(fù)業(yè)務(wù)數(shù)據(jù),所以先恢復(fù)寫(xiě)的部分。通過(guò)設(shè)置開(kāi)關(guān),外部流量就無(wú)法進(jìn)入集群,從而避免資源爭(zhēng)搶對(duì)數(shù)據(jù)恢復(fù)的影響;再如針對(duì)red buffer設(shè)置的優(yōu)化。寫(xiě)red buffer時(shí),如果red buffer設(shè)置過(guò)大也可能影響恢復(fù)速度。

調(diào)度優(yōu)化解決大請(qǐng)求

大請(qǐng)求是指對(duì)系統(tǒng)資源消耗特別大的請(qǐng)求,典型的例子就是帶有Filter的Scan,這個(gè)Filter過(guò)濾掉了大量的數(shù)據(jù),導(dǎo)致一個(gè)Next操作會(huì)訪問(wèn)成百上千個(gè)Block。當(dāng)Block大部分都在內(nèi)存時(shí),這種Scan就會(huì)消耗大量CPU資源。在解決大請(qǐng)求方面,肖冰也給出了兩點(diǎn)優(yōu)化建議:

  •  限制大請(qǐng)求的資源消耗,讓正常的請(qǐng)求可以獲取資源。通過(guò)sleep達(dá)到目的;
  •  中斷掉對(duì)客戶(hù)端來(lái)說(shuō)已經(jīng)超時(shí)的請(qǐng)求,這種請(qǐng)求繼續(xù)運(yùn)行沒(méi)有意義。中斷請(qǐng)求釋放資源。

災(zāi)備部署

Hbase現(xiàn)在的集群容災(zāi)主要通過(guò)兩種方式。第一是同城的主備切換的容災(zāi)??蛻?hù)端通過(guò)配置ZK集群地址以及Parent Znode訪問(wèn)HBase,為了實(shí)現(xiàn)客戶(hù)端在主備集群之間的無(wú)縫切換使用了虛擬Parent Znode(VZnode)代替了物理Parent Znode,VZnode存儲(chǔ)的內(nèi)容就是實(shí)際指向的物理Parent Znode,通過(guò)VZnode指向不同的物理Node實(shí)現(xiàn)客戶(hù)端在主備集群之間的無(wú)縫切換。

 

第二是異地的容災(zāi)。通過(guò)多地的集群部署,多地同時(shí)完成數(shù)據(jù)同步去提供存儲(chǔ)服務(wù)。

未來(lái)的優(yōu)化方向

采訪最后,肖冰與記者分享了未來(lái)阿里HBase的優(yōu)化方向,主要會(huì)集中在推動(dòng)運(yùn)維自動(dòng)化及虛擬化部署兩個(gè)方面。

具體來(lái)說(shuō),一是將運(yùn)維變更、資源申請(qǐng)、性能評(píng)估等這些日常的運(yùn)維工作實(shí)現(xiàn)完全的自動(dòng)化動(dòng)化,提高運(yùn)維效率。另一方面是把HBase現(xiàn)在由物理機(jī)的部署改成虛擬節(jié)點(diǎn)的部署,通過(guò)虛擬化更好地提高資源利用率,提高資源調(diào)動(dòng)速度。

 

 

責(zé)任編輯:Ophira 來(lái)源: 51CTO.com
相關(guān)推薦

2015-10-15 09:53:46

SQL恢復(fù)

2023-10-22 11:17:50

AOFRedis數(shù)據(jù)庫(kù)

2019-06-12 08:57:43

Oracle數(shù)據(jù)庫(kù)恢復(fù)

2018-07-24 16:40:29

MySQL主從架構(gòu)主庫(kù)宕機(jī)

2020-12-04 18:44:29

KubernetesHTTPS Wordpress

2013-09-10 10:20:12

數(shù)據(jù)大數(shù)據(jù)大數(shù)據(jù)應(yīng)用

2012-11-01 16:38:39

服務(wù)器

2020-03-24 08:32:24

vue作用域前端

2009-08-18 17:16:59

2025-03-20 08:57:54

Spring日志存儲(chǔ)系統(tǒng)

2017-01-15 15:20:47

Linux編程log

2019-12-04 08:44:59

前后端分離開(kāi)發(fā)

2024-07-22 11:48:42

2019-02-26 15:23:01

數(shù)據(jù)安全磁盤(pán)

2010-08-27 18:01:17

Linux Shell

2019-11-29 10:15:28

GitHub代碼開(kāi)發(fā)者

2022-06-10 11:51:49

MySQL事務(wù)隔離

2019-03-04 11:05:20

阿里云宕機(jī)阿里巴巴

2018-02-09 15:23:54

服務(wù)器磁盤(pán)陣列RAID
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)