亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HBase的動(dòng)態(tài)分組研究

        2021-09-23 08:09:32李春煒
        關(guān)鍵詞:策略分析

        李春煒

        (中國人民武裝警察部隊(duì)指揮學(xué)院,天津 300250)

        1 HBase分組對(duì)使用場景的影響

        早期HBase是一個(gè)業(yè)務(wù)方一個(gè)集群,以業(yè)界標(biāo)準(zhǔn)物理機(jī)64核256G內(nèi)存、硬盤SSD 512G*8為基準(zhǔn),至少需要10臺(tái)這種配置的機(jī)器才能保證集群穩(wěn)定。多個(gè)業(yè)務(wù)共用一個(gè)集群會(huì)導(dǎo)致?lián)屨季W(wǎng)絡(luò)、搶占線程的情況,集群出現(xiàn)故障影響層面較大,導(dǎo)致多個(gè)非故障業(yè)務(wù)受到牽連。因此為每個(gè)業(yè)務(wù)配置一個(gè)集群或者多個(gè)非重要業(yè)務(wù)共用一個(gè)集群,再或者某些重要的業(yè)務(wù)使用獨(dú)立集群,其他非重要業(yè)務(wù)使用公共集群,能夠基本保證業(yè)務(wù)使用HBase的穩(wěn)定性和避免資源浪費(fèi)。不過隨著業(yè)務(wù)流量變動(dòng),或者業(yè)務(wù)暫時(shí)下線、新的業(yè)務(wù)加入、老的業(yè)務(wù)退出,如何對(duì)表進(jìn)行相對(duì)合理的分組成為了新難題,基本都需要人工根據(jù)現(xiàn)有的集群情況、業(yè)務(wù)的重要性以及未來讀寫預(yù)期進(jìn)行分組。且隨著時(shí)間推移,業(yè)務(wù)的擴(kuò)縮容都是不可控的,純?nèi)斯さ臅r(shí)效性不能得到保障,往往是出了問題再解決,集群可用性風(fēng)險(xiǎn)增加,機(jī)器成本達(dá)不到理想狀態(tài)[1]。

        2 基于HBase的動(dòng)態(tài)分組

        基于上述問題可以采用一套動(dòng)態(tài)策略,通過調(diào)用HBase分組隔離功能RegionServer Grouping來實(shí)現(xiàn)對(duì)表的動(dòng)態(tài)分組,以達(dá)到保障機(jī)器資源和降低業(yè)務(wù)風(fēng)險(xiǎn)的作用。

        2.1 動(dòng)態(tài)計(jì)數(shù)

        每個(gè)業(yè)務(wù)在每個(gè)時(shí)段都有響應(yīng)的讀寫請(qǐng)求,時(shí)間粒度粗則按天為單位,細(xì)則按秒為單位,基于HBase客戶端統(tǒng)計(jì)業(yè)務(wù)請(qǐng)求數(shù)或根據(jù)HBase服務(wù)端自帶的監(jiān)控指標(biāo)來計(jì)數(shù),將統(tǒng)計(jì)到的數(shù)量上報(bào)到監(jiān)控系統(tǒng)。當(dāng)前業(yè)界普遍采用的監(jiān)控系統(tǒng)有基于kafka的flink實(shí)現(xiàn),本文不進(jìn)行闡述。結(jié)合每個(gè)業(yè)務(wù)的請(qǐng)求數(shù),我們就能依據(jù)趨勢(shì)圖來提前預(yù)判哪些業(yè)務(wù)應(yīng)該臨時(shí)分到特定的分組,哪些業(yè)務(wù)應(yīng)該長時(shí)間在某個(gè)分組里,具體的分析策略需要結(jié)合業(yè)務(wù)實(shí)際情況而定。

        2.2 分組對(duì)機(jī)器的劃分

        每個(gè)集群有一個(gè)default分組,不過合理的依據(jù)機(jī)器性能創(chuàng)建新的分組可以使機(jī)器的使用效益最大化。HBase最大的特性就是可水平擴(kuò)展大數(shù)據(jù)存儲(chǔ),無論是HDD磁盤,還是SSD磁盤理論上都是可以利用的。但由于RegionServer和DataNode是部署在一起的,磁盤的性能直接決定了RegionServer的讀寫能力,自然也成為了分組指標(biāo)之一。除了磁盤,CPU和內(nèi)存也是決定機(jī)器性能的重要指標(biāo)。判斷一個(gè)分組是否合理,還可以分析監(jiān)控指標(biāo),然后人為的或者動(dòng)態(tài)的進(jìn)行調(diào)整,指標(biāo)和維度越多,越趨近合理[2]。

        2.3 分組對(duì)業(yè)務(wù)的劃分

        業(yè)務(wù)之間有優(yōu)先級(jí)的高低。優(yōu)先級(jí)高的業(yè)務(wù)必然要使用性能更好的分組;一些流量小,要求不高的業(yè)務(wù),可以調(diào)低優(yōu)先級(jí)使用性能一般的分組。除了主觀的調(diào)整外,業(yè)務(wù)分類、流量波峰波谷時(shí)間維度、寫入數(shù)據(jù)塊大小等都可作為業(yè)務(wù)評(píng)分的標(biāo)準(zhǔn)。主客相結(jié)合的評(píng)判對(duì)業(yè)務(wù)的定義顯得十分必要。

        2.4 分組的降級(jí)

        動(dòng)態(tài)分組除了能進(jìn)行常規(guī)的分組操作,面對(duì)突發(fā)事件,如跨機(jī)房網(wǎng)絡(luò)不通、機(jī)房斷電、機(jī)器故障等不可抗力的特殊場景,還可以立刻觸發(fā)分組策略對(duì)分組進(jìn)行降級(jí),保障系統(tǒng)的高可用。設(shè)計(jì)分組降級(jí)策略時(shí),需要充分考慮到業(yè)務(wù)指標(biāo)的重要性,是側(cè)重響應(yīng)時(shí)間還是成本。

        2.5 人工干預(yù)

        對(duì)動(dòng)態(tài)分組的研究就是為了解決人工使用中遇到的問題,使HBase系統(tǒng)更加完善。但當(dāng)動(dòng)態(tài)分組由于設(shè)計(jì)缺陷或者編碼錯(cuò)誤導(dǎo)致系統(tǒng)沒有按照預(yù)期分組時(shí),就需要人為進(jìn)行干預(yù),確保系統(tǒng)最高控制權(quán)在人的手中。

        3 動(dòng)態(tài)分組功能設(shè)計(jì)與應(yīng)用

        本文所研究的動(dòng)態(tài)分組功能是基于實(shí)驗(yàn)室特定局域網(wǎng)場景實(shí)現(xiàn)的,具體架構(gòu)如圖1所示。

        圖1 動(dòng)態(tài)分組架構(gòu)圖Fig.1 Dynamic grouping architecture diagram

        3.1 定時(shí)任務(wù)模塊

        該模塊是最終執(zhí)行移動(dòng)分組的模塊,通過定時(shí)獲取“策略模塊”計(jì)算出的信息來對(duì)業(yè)務(wù)進(jìn)行移動(dòng)分組。實(shí)驗(yàn)采用spring quartz雙節(jié)點(diǎn)搭配zookeeper選舉master保障單節(jié)點(diǎn)執(zhí)行調(diào)用RegionServer Grouping。執(zhí)行后打印執(zhí)行日志,方便跟蹤系統(tǒng)策略及狀態(tài)[3]。

        3.2 上報(bào)模塊

        3.2.1 基于HBase客戶端的上報(bào)

        該上報(bào)采用異步分鐘級(jí)上報(bào),通過HBase自帶依賴包Netty傳輸數(shù)據(jù),以避免使用其他通信框架造成jar包沖突,ReportServer接收客戶端所上報(bào)的數(shù)據(jù)。上報(bào)的數(shù)據(jù)設(shè)置過期時(shí)間,可避免造成大量冷數(shù)據(jù)。本實(shí)驗(yàn)設(shè)置為兩天,上報(bào)的數(shù)據(jù)格式為{"clientId":"00001","table Name":"exampleTable","date":"yyyyMMDDhh mm","expired Day":"2","timeArrays":[qps,qps,qps…]},timeArrays存儲(chǔ)為每秒的QPS。服務(wù)端接收到數(shù)據(jù)之后解析并分析數(shù)據(jù)。

        3.2.2 基于HBase服務(wù)端上報(bào)

        HBase服務(wù)端上報(bào)包含RegionServer上報(bào)和DataNode上報(bào),主要監(jiān)控指標(biāo)都集中在RegionServer上。實(shí)驗(yàn)選用了常用的幾個(gè)指標(biāo):totalRequestCount、readRequest Count、writeRequestCount、numActiveHandler、numCallsIn GeneralQueue。不同的指標(biāo)可以生成不同的策略,指標(biāo)越多,策略的復(fù)雜度也越高[4]。將這些指標(biāo)上報(bào)到實(shí)時(shí)分析模塊后進(jìn)行分析,如圖2所示。

        圖2 上報(bào)模塊交互圖Fig.2 Reporting module interaction diagram

        3.3 實(shí)時(shí)分析模塊

        依賴上報(bào)數(shù)據(jù)進(jìn)行實(shí)時(shí)數(shù)據(jù)分析,為了保證模塊魯棒性將服務(wù)端接口接入kafka,利用flink消費(fèi)kafka,訂閱生成報(bào)表方便管理人員對(duì)分組進(jìn)行實(shí)時(shí)監(jiān)控,同時(shí)將設(shè)定好的策略條件載入到flink 進(jìn)行計(jì)算。實(shí)驗(yàn)使用了一個(gè)簡單的閾值來觸發(fā)分組,超過設(shè)定好的QPS,該業(yè)務(wù)分組將被推送到定時(shí)任務(wù)模塊隊(duì)列,待定時(shí)任務(wù)執(zhí)行后,將業(yè)務(wù)移動(dòng)到新的分組,如圖3所示。

        圖3 實(shí)時(shí)模塊圖Fig.3 Real-time module diagram

        3.4 離線分析模塊

        除了依據(jù)實(shí)時(shí)分析模塊對(duì)業(yè)務(wù)進(jìn)行分組外,離線分析模塊和實(shí)時(shí)分析模塊一樣從kafka訂閱上報(bào)數(shù)據(jù),然后根據(jù)數(shù)據(jù)倉庫中相關(guān)維度的數(shù)據(jù)表進(jìn)行統(tǒng)計(jì)分析,從而使得某些策略的閾值更加精確合理,最后依據(jù)最初設(shè)置的權(quán)重來對(duì)現(xiàn)有策略進(jìn)行更新,如圖4所示。

        圖4 離線分析模塊圖Fig.4 Offline analysis module diagram

        3.5 策略模塊

        策略模塊是動(dòng)態(tài)分組最核心的模塊,該模塊發(fā)揮的優(yōu)劣直接決定了動(dòng)態(tài)分組的價(jià)值。實(shí)驗(yàn)根據(jù)業(yè)務(wù)復(fù)雜度設(shè)計(jì)了高中低三種策略。在相同的業(yè)務(wù)集群和應(yīng)用場景設(shè)定下,三種策略的動(dòng)態(tài)分組結(jié)果均不相同,經(jīng)評(píng)估符合正常的分組邏輯。策略如下:

        3.5.1 分組降級(jí)策略

        分組降級(jí)策略采用單向不可逆的動(dòng)態(tài)分組,將默認(rèn)分組部分表移動(dòng)到中等資源組,中等資源組部分表遇到瓶頸或者抖動(dòng)繼續(xù)移動(dòng)到唯一分組,如圖5所示。

        圖5 分組降級(jí)策略圖Fig.5 Group downgrade strategy diagram

        3.5.2 流量分析策略

        流量分析策略采用雙向移動(dòng)策略,分組粒度更細(xì),是在分組降級(jí)策略基礎(chǔ)上進(jìn)一步根據(jù)流量計(jì)數(shù)進(jìn)行分組,按天按周甚至按月在流量低峰時(shí)移動(dòng),如圖6所示。

        圖6 流量分析策略圖Fig.6 Traffic analysis strategy diagram

        3.5.3 多維度動(dòng)態(tài)調(diào)整策略

        多維度動(dòng)態(tài)調(diào)整策略除了采用上述兩種策略外,還采用了流量大小、region個(gè)數(shù)、壓縮格式、自定義表權(quán)重、表列數(shù)量、表value大小等策略。這些策略需要多維度組件結(jié)合具體的業(yè)務(wù)需求進(jìn)行調(diào)整,在資源有限的情況下不推薦使用。

        3.6 人機(jī)交互模塊

        任何系統(tǒng)都不能堪稱完美,需要管理者對(duì)系統(tǒng)擁有絕對(duì)的控制權(quán),因此人機(jī)交互模塊保證了人工對(duì)動(dòng)態(tài)分組系統(tǒng)的直接干預(yù)。

        當(dāng)啟動(dòng)動(dòng)態(tài)分組功能,系統(tǒng)就能按照特定的時(shí)間對(duì)各個(gè)業(yè)務(wù)進(jìn)行分析處理,并按照預(yù)期的策略進(jìn)行分組調(diào)整。調(diào)整后系統(tǒng)繼續(xù)對(duì)分組的各個(gè)監(jiān)控指標(biāo)進(jìn)行監(jiān)控,并按天對(duì)指標(biāo)進(jìn)行離線分析,得出推薦策略供人工進(jìn)行策略調(diào)整,整個(gè)動(dòng)態(tài)分組功能實(shí)現(xiàn)閉環(huán),最終趨近于最優(yōu)狀態(tài)。

        3.7 動(dòng)態(tài)分組在局域網(wǎng)環(huán)境中的應(yīng)用

        實(shí)驗(yàn)?zāi)M業(yè)務(wù)流量成倍數(shù)增加或減少,動(dòng)態(tài)分組功能啟動(dòng),按照業(yè)務(wù)復(fù)雜度從低到高進(jìn)行橫向擴(kuò)展,期間記錄了各個(gè)分組的使用情況如圖7所示。

        圖7 分組狀態(tài)圖Fig.7 Group state diagram

        動(dòng)態(tài)分組系統(tǒng)成功調(diào)整了分組并且為業(yè)務(wù)分配新的分組。調(diào)整后機(jī)器利用率更加平均,業(yè)務(wù)平穩(wěn)運(yùn)行。

        4 結(jié)語

        本文針對(duì)當(dāng)前業(yè)界對(duì)HBase分組使用進(jìn)行了分析與對(duì)比,從現(xiàn)有HBase分組功能尋找出多種策略的動(dòng)態(tài)分組方案,并實(shí)現(xiàn)了一個(gè)局域網(wǎng)的基于HBase的動(dòng)態(tài)分組系統(tǒng)設(shè)計(jì)。實(shí)驗(yàn)證明該方法能夠有效的對(duì)不同的業(yè)務(wù)場景進(jìn)行相對(duì)合理的動(dòng)態(tài)分組,保證集群穩(wěn)定性,與常規(guī)的人工配置相比,可提高資源利用率,有較好的研究與推廣價(jià)值。

        猜你喜歡
        策略分析
        基于“選—練—評(píng)”一體化的二輪復(fù)習(xí)策略
        隱蔽失效適航要求符合性驗(yàn)證分析
        求初相φ的常見策略
        例談未知角三角函數(shù)值的求解策略
        我說你做講策略
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        高中數(shù)學(xué)復(fù)習(xí)的具體策略
        電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢(shì)分析
        Passage Four
        中西醫(yī)結(jié)合治療抑郁癥100例分析
        天天射综合网天天插天天干| 少妇性饥渴无码a区免费| 性欧美暴力猛交69hd| 久久无码av三级| 国产日本在线视频| 91麻豆精品久久久影院| 日本一区二区在线播放视频| 丰满少妇弄高潮了www| 久久男人av资源网站无码 | 亚洲人成综合网站在线| 国内自拍第一区二区三区| av在线免费观看网站,| 欧美乱人伦人妻中文字幕| 久久免费国产精品| 日本高清一区二区在线观看| 国产又湿又爽又猛的视频 | 北岛玲日韩精品一区二区三区| 国产激情视频在线观看首页| 日本一本免费一二区| 午夜不卡av免费| 亚洲成精品动漫久久精久| 99久久婷婷国产精品网| 97日日碰曰曰摸日日澡| 亚洲精品久久中文字幕| 久草视频福利| 东京道一本热码加勒比小泽| 操风骚人妻沉沦中文字幕| 94久久国产乱子伦精品免费| 亚洲另类激情专区小说婷婷久 | 亚洲精品综合第一国产综合| 久久精品国产亚洲av成人网| 蜜桃传媒网站在线观看| 久久精品国产精品| 毛片毛片免费看| 青青草成人原视频在线播放视频 | 岳好紧好湿夹太紧了好爽矜持| 夜夜春精品视频| 伊人狼人激情综合影院| 内射夜晚在线观看| 人妻人人澡人人添人人爽人人玩| 亚洲福利天堂网福利在线观看 |