使用KyBot優(yōu)化Apache Kylin存儲(chǔ)

作者:李棟

編輯:Sammi

眾所周知半开,Apache Kylin基于預(yù)計(jì)算的思想蝙寨,實(shí)現(xiàn)了在Hadoop上對(duì)PB規(guī)模數(shù)據(jù)集進(jìn)行高速OLAP分析的需求,查詢性能可以達(dá)到秒級(jí)甚至亞秒級(jí)守呜。既然是預(yù)計(jì)算粱玲,勢(shì)必需要占用一定的集群存儲(chǔ)資源;如果使用不當(dāng)昧旨,可能造成大量的資源浪費(fèi)拾给。如何優(yōu)化存儲(chǔ)資源占用,就是本文討論的話題。

關(guān)于存儲(chǔ)資源

Apache Kylin使用“空間換時(shí)間”極大提高了查詢效率。但“空間”也并非無限夭禽,不能無節(jié)制使用祟峦;而且需要的存儲(chǔ)越多,生成數(shù)據(jù)消耗的預(yù)計(jì)算時(shí)間和計(jì)算資源就越多福压,維護(hù)成本也越大。因此,在保持查詢效率不變的前提下入偷,減少存儲(chǔ)占用顯得尤為重要。

Apache Kylin對(duì)于存儲(chǔ)資源的占用主要包括以下幾個(gè)方面:

元數(shù)據(jù):包含Cube械哟、Model等的定義信息疏之,以及構(gòu)建任務(wù)、字典暇咆、維表鏡像等锋爪;默認(rèn)保存在HBase當(dāng)中

Cube數(shù)據(jù):即預(yù)計(jì)算的結(jié)果;默認(rèn)保存在HBase當(dāng)中

HDFS文件:Cube構(gòu)建任務(wù)生成的中間文件爸业,主要用于Segment合并等操作其骄;默認(rèn)保存在Apache Kylin的HDFS工作目錄當(dāng)中

Hive表:Cube構(gòu)建時(shí)為了從數(shù)據(jù)源拉取數(shù)據(jù)生成的臨時(shí)外表,數(shù)據(jù)默認(rèn)保存在Apache Kylin的HDFS工作目錄當(dāng)中扯旷,一般會(huì)在任務(wù)完成時(shí)自動(dòng)刪除

想要優(yōu)化存儲(chǔ)拯爽,首先需要了解整體及各項(xiàng)資源的存儲(chǔ)分布,進(jìn)而找到資源瓶頸和優(yōu)化方案钧忽。但是Apache Kylin中沒有存儲(chǔ)監(jiān)控和匯總統(tǒng)計(jì)的功能毯炮,想要快速洞悉存儲(chǔ)占用并不是那么容易——而KyBot擅長(zhǎng)解決這一問題。

使用KyBot優(yōu)化存儲(chǔ)

KyBot?(https://kybot.io)?是為Apache Kylin及其商業(yè)版KAP提供在線診斷耸黑、優(yōu)化及服務(wù)的平臺(tái)桃煎。通過分析Apache Kylin的日志等信息,為用戶提供可視化儀表盤大刊、系統(tǒng)優(yōu)化备禀、故障排查、知識(shí)庫(kù)等自助式服務(wù)。關(guān)于KyBot的使用可以參考文章[1]曲尸。

登錄進(jìn)入KyBot后赋续,通過左側(cè)菜單進(jìn)入“存儲(chǔ)”儀表盤,即可看到整個(gè)系統(tǒng)的存儲(chǔ)統(tǒng)計(jì)指標(biāo)另患,如圖1所示纽乱。

圖 1 存儲(chǔ)儀表盤

在圖1中,A區(qū)域代表整個(gè)HBase存儲(chǔ)的統(tǒng)計(jì)昆箕,在這個(gè)例子中總共使用了1.3 TB的空間鸦列,其中48.5 GB是元數(shù)據(jù),共計(jì)35個(gè)HTable鹏倘。通過這些統(tǒng)計(jì)薯嗤,管理員可以直觀掌握Kylin的存儲(chǔ)用量,也能為集群擴(kuò)容纤泵、運(yùn)維計(jì)劃提供數(shù)據(jù)支撐骆姐。

B區(qū)域代表HBase存儲(chǔ)用量的變化趨勢(shì),幫助用戶快速定位用量突變等異常情況捏题。這里的采樣時(shí)間是用戶每次生成KyBot診斷包的時(shí)間玻褪,因此,用戶只需要定期生成并上傳診斷包(如每日一次)公荧,就可以在此處觀測(cè)到完整的存儲(chǔ)變化曲線带射。

C區(qū)域代表檢測(cè)出的可清理項(xiàng)統(tǒng)計(jì),幫助管理員明確存儲(chǔ)健康程度循狰,并合理安排運(yùn)維任務(wù)窟社。在這個(gè)例子中,通過數(shù)據(jù)清理可以回收291.3 GB空間绪钥。

通過這些儀表盤桥爽,管理員可以一目了然地了解存儲(chǔ)占用情況,但是如果發(fā)現(xiàn)用量過高昧识,該如何優(yōu)化呢?下文將列出一些常見的優(yōu)化方案盗扒。

數(shù)據(jù)清理

在Apache Kylin的運(yùn)行過程當(dāng)中跪楞,會(huì)產(chǎn)生一定的中間數(shù)據(jù),這些數(shù)據(jù)有的會(huì)在使用后自動(dòng)刪除侣灶,有的會(huì)保留下來作為數(shù)據(jù)備份甸祭。隨著使用越來越久,這些數(shù)據(jù)的價(jià)值也越來越低褥影,管理員可以通過數(shù)據(jù)清理回收這些數(shù)據(jù)的空間池户。

可清理的數(shù)據(jù)包括元數(shù)據(jù)、Cube數(shù)據(jù)⌒=梗可清理的元數(shù)據(jù)主要包括很久之前的構(gòu)建任務(wù)描述赊抖、無用的字典和維表鏡像等,數(shù)據(jù)過多可能導(dǎo)致頁面加載過慢寨典、內(nèi)存占用過多等問題氛雪。如果A區(qū)域表示的元數(shù)據(jù)表過大,則需要進(jìn)行元數(shù)據(jù)清理耸成,清理方式參考文章[2]报亩。

當(dāng)用戶清空一個(gè)Cube時(shí),系統(tǒng)并不會(huì)把Cube數(shù)據(jù)立即刪除井氢,而只是更新了Cube元數(shù)據(jù)弦追。這是為了當(dāng)用戶操作失誤時(shí),還可以通過恢復(fù)元數(shù)據(jù)快速回滾花竞;當(dāng)用戶不再需要回滾劲件,這些數(shù)據(jù)就可以被清理;同樣的還有任務(wù)中斷留下的Hive中間表等等左胞。C區(qū)域表示的“可清理項(xiàng)”統(tǒng)計(jì)過大寇仓,則表示需要進(jìn)行存儲(chǔ)清理,清理方式參考文章[3]烤宙。

降低Cube膨脹率

存儲(chǔ)中最具重量級(jí)的就是Cube數(shù)據(jù)遍烦,如果發(fā)現(xiàn)總體存儲(chǔ)用量異常之大,那么極有可能是有個(gè)別Cube極度膨脹導(dǎo)致躺枕。

圖 2 Cube膨脹倍數(shù)統(tǒng)計(jì)

切換至KyBot的Cube儀表盤查看“Cube膨脹倍數(shù)統(tǒng)計(jì)”圖表服猪,如圖2所示,可以快速根據(jù)膨脹倍數(shù)找到最為異常的Cube拐云,并進(jìn)入Cube調(diào)優(yōu)頁面罢猪,觀察“Cuboid重合率”圖表:

圖 3 Cuboid重合率統(tǒng)計(jì)

如圖3所示,每根柱子代表一個(gè)Cuboid和父級(jí)Cuboid的重合率叉瘩,重合率100%則代表當(dāng)前Cuboid是冗余的膳帕,可以被刪除。圖3中的Cube有很多冗余Cuboid薇缅,說明該Cube有很大優(yōu)化空間危彩,即可以通過調(diào)整Cube設(shè)計(jì)減小冗余Cuboid,從而降低膨脹率泳桦,進(jìn)而有效減小系統(tǒng)的存儲(chǔ)資源用量汤徽,同時(shí)不影響查詢性能。有關(guān)Cuboid重合率和Cube優(yōu)化方案灸撰,請(qǐng)參考文章[4]谒府,本文不再贅述拼坎。

總結(jié)

“空間換時(shí)間”是Apache Kylin在大數(shù)據(jù)分析領(lǐng)域的殺手锏,為了讓它永久鋒利完疫,就需要通過不斷優(yōu)化進(jìn)行“保養(yǎng)”泰鸡,如存儲(chǔ)優(yōu)化、模型優(yōu)化等等趋惨。KyBot是專業(yè)鸟顺、智能的“保養(yǎng)顧問”,可以達(dá)到事半功倍的效果器虾。如果你也有存儲(chǔ)方面的困擾讯嫂,不妨參考本文一試。

參考文章

[1] 【技術(shù)帖】KyBot快速入門指南

[2] 元數(shù)據(jù)清理

[3] 存儲(chǔ)清理

[4]Apache Kylin 深入Cube和查詢優(yōu)化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末兆沙,一起剝皮案震驚了整個(gè)濱河市欧芽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌葛圃,老刑警劉巖千扔,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異库正,居然都是意外死亡曲楚,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門褥符,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龙誊,“玉大人,你說我怎么就攤上這事喷楣√舜螅” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵铣焊,是天一觀的道長(zhǎng)逊朽。 經(jīng)常有香客問我,道長(zhǎng)曲伊,這世上最難降的妖魔是什么叽讳? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮坟募,結(jié)果婚禮上岛蚤,老公的妹妹穿的比我還像新娘。我一直安慰自己婿屹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布推溃。 她就那樣靜靜地躺著昂利,像睡著了一般届腐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蜂奸,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天犁苏,我揣著相機(jī)與錄音,去河邊找鬼扩所。 笑死围详,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的祖屏。 我是一名探鬼主播助赞,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼袁勺!你這毒婦竟也來了雹食?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤期丰,失蹤者是張志新(化名)和其女友劉穎群叶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钝荡,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡街立,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了埠通。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赎离。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖植阴,靈堂內(nèi)的尸體忽然破棺而出蟹瘾,到底是詐尸還是另有隱情,我是刑警寧澤掠手,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布憾朴,位于F島的核電站,受9級(jí)特大地震影響喷鸽,放射性物質(zhì)發(fā)生泄漏众雷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一做祝、第九天 我趴在偏房一處隱蔽的房頂上張望砾省。 院中可真熱鬧,春花似錦混槐、人聲如沸编兄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狠鸳。三九已至揣苏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間件舵,已是汗流浹背卸察。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铅祸,地道東北人坑质。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像临梗,于是被迫代替她去往敵國(guó)和親涡扼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容