前言:2020年3月7日晚7點,大佬張祥在微信群向大家詳細介紹了58同城HBase平台及其生态的建設實踐與相關經驗,确實講得很好。今天花了點時間幫大家整理了一下,希望更多的沒有參與直播的朋友能夠看到它,也歡迎大家積極轉發一下,視訊與PPT相關資料附于文末。
亮點在哪
該分享的亮點在哪兒裡呢?這裡我就自己的了解闡述一下自己的想法,不喜勿噴哈~
1. 資料接入層
第一個亮點是:58同城在HBase之上做了進一步封裝(SCF),融入了微服務,充分利用了微服務的優勢和特點,比如熔斷、監控、權限、動态擴縮容等等都可以在這一層做,雖然也多了一層運維成本,但微服務技術應該也算有比較成熟的體系了。
之前也聽過諸多言論,比如HBase之上封裝一層HTTP或是RPC服務會導緻性能降低之類的說法,其實我倒是覺得影響還是比較小的,當然肯定會有些影響。對性能影響比較大的隻可能是過度封裝或是對HTTP/RPC架構不熟。
當然,性能與伺服器成本是挂鈎的,性能的提升會帶來伺服器成本的降低,諸多好處和不足還應權衡一下。58同城,也算是在這一方面開了一個不錯的先例(恕我孤陋寡聞~)。
2. 多租戶打通與資料隔離
聽完整個視訊,我覺得第二個亮點算是多租戶的全線打通了,這裡主要是一個解決方式:Hadoop ugi 的提出。可能是我孤陋寡聞吧,這個對我的啟發确實挺大的,因為正好可以解決自己在工作中遇到的一個比較頭疼的問題:基于Kerberos太重,如何打通HBase的授權與鑒權,并充分利用HBase ACL?如果你也有這個困惑,可以了解一下。
3. 叢集遷移方案
第三個亮點,是一套新的叢集遷移方案的提出。以往的貼大都是Snapshot+Replication的方式做這個遷移工作,58首先提出了一個叢集雙寫的方案(恕我孤陋寡聞~),感覺挺好。大家可以詳細看看視訊,張祥講解的也很清楚。
答疑解惑
答疑環節呢比較少,這裡把微信群裡屈指可數的幾個問題貼一下:
1. 叢集遷移為什麼不直接snapshot+export_snapshot?
張祥: “
你這個方式慢,snapshot-export這個工具慢 你試試
而且,如果之前的老表 分區不合理,比如過大或者過小,你這樣就不好重新建立新分區了”
2. clone-snapshot以後,major_compact主要是什麼考慮?合并小檔案嗎?還是?
張祥: “
把一個表複制一下,做個深度拷貝,而不是副本引用。”
3. 資料接入層,多租戶RPC長連結建立後是如何實作使用者動态切換的?我目前的了解HBase是在建立連接配接前指定使用者。
張祥: “ugi”
資料分享
線上視訊播放位址:
微信視訊:https://mp.weixin.qq.com/s/pUhsvUaznySryItwjWTjQg
鬥魚直播:https://www.douyu.com/5022062
騰訊視訊:https://v.qq.com/x/page/g3078klzfwj.html
PPT下載下傳位址:
百度雲:
連結:https://pan.baidu.com/s/1fAnxS4bSj9HShMOkiFMWfA
提取碼:um8a
轉載請注明出處!歡迎關注本人微信公衆号【HBase工作筆記】