您好,登錄后才能下訂單哦!
Track 3:Application
Track3是關于HBase應用的分享,來自騰訊、快手、滴滴、Pinterest、中國移動、中國人壽等多家公司的工程師為我們分享了HBase在應用和實踐中遇到的問題和經驗。
來自騰訊的工程師程廣旭為我們帶來了 HBase 在騰訊的業務中的應用場景和經驗。
騰訊目前有90多個 HBase 集群,最大的集群有500多臺節點。騰訊內部多個業務包括騰訊視頻,微信支付和騰訊云等都在使用HBase服務。其首先分享了使用 HBase 進行數據遷移的經驗:Replication 和 ExportSnapshot.在實際使用中,業務每天的數據量都很大,這些數據需要保存的周期要么很大,要么很小。因此采取了按天分表的方式,也就是每天會創建一個新的表,對于過期的數據,直接把當天的表刪掉即可。其次分享了對帶寬的優化。
寫入HBase的流量主要有五個部分:
1.寫入,2.WAL,3.Flush,4.Small Compaction,5.Major Compaction。優化的方法有:1.開啟CellBlock的壓縮。2.WAL的壓縮。3.增大memstore,減少Flush,減少Compaction。4.減少Compaction的線程數目。5.關閉Major Compaction。6.按天建表。最后介紹了如何共享RestServer。當每個HBase集群搭建一個RestServer時,如果讀取集群的請求很少,那么集群的RestServer資源比較浪費。騰訊做了一個改進,配置一個RestServer可以訪問多個HBase集群,同時在MySQL里記了哪些表可以通過這種方式訪問。
Track3-2: HBase at Kuaishou
PPT下載鏈接: http://t.cn/AijgodXA
來自快手的工程師徐明為我們分享了HBase在快手的應用和實踐。
快手每天有大量的用戶上傳大量的視頻,這部分視頻大部分是幾MB的對象,其存儲方案是:數據直接存儲在HDFS上,數據的索引存儲在HBase上,而最新的數據則存儲在memcache中。
為了提高 HBase的可用性,加快故障恢復速度,快手自研了hawk系統,其包括master,agent,sniffer三個組件,由多個agent投票來確認一個節點是否掛了,然后由sniffer來處理掛的節點,并將有問題的節點迅速的從zk上刪掉。同時快手做了一些優化來加速split log和assign region的過程。在Client端,則主要是確保有問題節點的region location能被快速清理掉。
RSGroup功能也在快手被大量使用,并做了一些優化。一個是添加了FallBack RSGroup,如果某個RSGroup的全部節點都掛了,就從這個FallBack RSGroup中選擇機器;一個是添加了Global RSGroup,主要是滿足監控需求,因為hbase的canary表需要分布在各個機器上。
快手還分享了其如何使用HBase來存儲和分析海量數據的案例。比如要解決計算用戶留存的問題,如果使用SQL的話執行很慢,快手使用了Bitmap的解決方案。把需要提取的維度轉化成Bitmap,使用空間來減少消耗的時間。使用MR把選擇的維度轉成Bitmap,把Bitmap切成小塊,Bitmap的數據及meta都導入到HBase中。
Track3-3: HBase at DiDi
PPT下載鏈接:
http://t.cn/AijgK2qq
來自滴滴的工程師唐天航為我們帶來了HBase在滴滴的業務中的應用場景和經驗。
滴滴國內的HBase集群有7個,海外國際化集群有4個。覆蓋了滴滴全部的業務線,目前服務的項目大概有200多個,數據級是PB級。
滴滴使用HBase主要有兩個場景:1.離線數據查詢,包括Phoenix、Kylin、openTSDB的使用,2.GeoMesa系統構建的軌跡數據系統,可用于實時查詢、監控和特征工程的數據挖掘。GeoMesa系統提供導入和導出接口,導入接口支持Native API、MR/BulkLoad、StreamingSQL,導出接口支持SparkCore、SparkSQL、CQL、GeoServer。這樣使用GeoMesa可以有以下好處:1、開箱即用,2、類SQL文本語言支持,3、橫向可擴張、4基于Hadoop生態。
滴滴在實踐中對zookeeper的改進為:分離server和client所依賴ZK,當client端的突發大量訪問造成zk不可用時,不會影響到服務端。(HBASE-20159,ZOOKEEPER-832)。滴滴在HBase/Phoenix上的改進,主要是Quota設置、replication以及查詢優化(HBASE-21964,HBASE-22620,PHOENIX-5242)
最后, 滴滴建立了從Client端到HAProxy,然后到Thriftserver和QueryServer上,之后再到Hbase的多元用戶全鏈路追蹤,能夠更加有效提升運維效率。
Track3-4: Phoenix Best Practice In China Life Insurance Company
PPT下載鏈接:http://t.cn/AijgKfM4
來自中國人壽的工程師袁利鷗為我們分享了Phoenix在中國人壽的最佳實踐
中國人壽目前總的節點數有200多個,Phoenix集群的節點是30多個。集群整體的數據量是1300T,HBase單表最大30T,每天大概會有上百個腳本運行。
Phoenix在中國人壽的應用場景:數據源是從核心的交易系統上產生,然后通過SharePlex,打到Kafka上,數據從Kafka實時接入到Phoenix集群上,通過查詢服務,為APP提供權益信息訪問。從物理架構上看,最底層是Phoenix集群,向上有兩條鏈路,一條是Phoenix Gateway,另一條是實時查詢服務,通過負載平衡,承接到Weblogic集群上。
袁利鷗介紹了Spark Streaming的設計:1、對于整合后的表,會加入一些控制字段,記錄更新時間、刪除還是插入操作等。2、實時同步程序,按照表名或者統計字段做區分。
袁利鷗接著介紹了關于Phoenix的優化,把Phoenix的系統表做為一個分組,數據表放在另一個分組中。客戶端訪問時,每天會拉去一次元數據,隨后就不用去訪問Phoenix 系統表,可以降低負載。基于HBase的一些優化包括:1、Region Balance By Table。 2、G1GC
3、Manual MajorCompaction
Track3-5: HBase Practice in China Mobile
PPT下載鏈接:http://t.cn/AijgOxGa
來自中國移動蘇州研發中心Hbase負責人陳葉超介紹了Hbase在中國移動的實踐
中國移動目前大概有6000個物理節點,100多個集群,幾十PB數據,單集群最大600多個節點,單表最大1.6PB,最大3000萬并發訪問,存儲的數據采用較高壓縮比進行壓縮,減少存儲空間。
HBase在中國移動的幾個應用場景:1.北京移動的流量清單,比如手機使用流量,這個在掌上營業廳是可以查到的。2、DPI數據,主要是信令相關的,有一些網絡優化的設計。3、監控和日志,包括小圖片、用戶標簽、爬蟲和市場營銷等。
中國移動在實踐中通過數據抽樣解決BulkLoad中數據傾斜問題。數據壓縮在Flush 和BulkLoad階段都不開啟,只在compaction階段使用,提高讀寫性能。混合使用SSD/HDD磁盤,compaction后數據存儲在HDD磁盤。對于更好的使用SSD,中國移動做了如下工作:1,backport HSM To HBase 1.2.6版本。2,所有用戶過來的寫入路徑都是SSD的,寫性能提高50%。此外,中國移動還開發了HBase集群智能運維工具:Slider和RegionServerGroup,可以控制資源的分配,并基于Region做了一套權限認證體系。
Track3-6: Recent work on HBase at Pinterest
PPT下載鏈接:http://t.cn/AijgO0KU
來自Pinterest 的技術lead徐良鴻分享了HBase在Pinterest的最新進展
Pinterest目前集群規模50臺,都部署在AWS上,數據量大概在PB級。2013年開始使用HBase 0.94 , 2016年升級為1.2版本。
Pinterest通過Apache Omid實現HBase對事務的支持,使用中發現Omid存在性能瓶頸,隨后自研Sparrow系統,主要改進有:1,將commit操作移到客戶端,解決Transaction Manager 單點問題。2,將Transaction Manager 改為多線程實現,begin操作可以不用等待commit完成。Sparrow與Omid相比,對于P99延時,Begin階段有100倍降低,commit階段也有3倍降低。
Pinterest自研了Argus系統,與Kafka結合使用,提供WAL通知機制。大概的實現為:需要通知機制的數據會在client寫入時添加標記,這些標記會被傳到WAL層面,通過Kafka將WAL提供給 Argus Observer進行數據處理,處理方式是用戶自定義的。
Pinterest基于開源Lily實現Ixia,用于實時構建HBase二級索引,同時整合了Muse,實現類SQL查詢。大概的實現:寫入HBase的數據會傳到Replication Proxy,通過Kafka打到Indexer中,index manager會讀取HBase數據的列,如果需要建索引,會將數據寫入Muse中,Muse會根據數據的schema做檢索,query會在Muse中查詢,需要時會查詢HBase
徐良鴻介紹了Argus和Ixia設計的好處:1、基于異步的復制機制,對寫入的影響很小。2、與HBase系統獨立,分開運行,可以很快的進行數據處理。
Track3-7 HBase at Tencent Cloud
PPT下載鏈接:http://t.cn/AijgOeGJ
來自騰訊的工程師陳龍為我們分享了HBase在騰訊云上的經驗。
云上服務會遇到很多管理和用戶相關的問題。陳龍說明了云服務的3個挑戰:1、大量的技術咨詢工作。2、緊急情況的處理。3、故障定位分析。并結合兩個案例分析云服務的挑戰。
騰訊云在監控方面,通過OpenTSDB收集table和region的metirc, 用戶可以登錄云監控,設置Qps到某一閾值后,做反向通知。
陳龍分析了云上的故障有4類原因:
1、外部因素,例如資源泄露,大量請求,coprocessor問題
2、硬件因素,磁盤、網絡、CVM,資源
3、存儲因素,塊丟失、讀寫超時
4、配置因素,jvm、memstore、blockcache、flushsize
騰訊云通過提供文檔,工具和監控等三個方式,解決在云上遇到的多種問題。陳龍最后分享了監控系統的架構。分享了云上管理服務的架構,比如需要快速的擴容或者縮容集群等。
轉載請注明出處“小米云技術”
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。