HBase在滴滴出行的應(yīng)用課件_第1頁(yè)
HBase在滴滴出行的應(yīng)用課件_第2頁(yè)
HBase在滴滴出行的應(yīng)用課件_第3頁(yè)
HBase在滴滴出行的應(yīng)用課件_第4頁(yè)
HBase在滴滴出行的應(yīng)用課件_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、HBase在滴滴出行的應(yīng)用技術(shù)創(chuàng)新,變革未來(lái)第1頁(yè),共40頁(yè)。背景介紹滴滴出行:提供一站式的出行服務(wù),包括專車,快車,出租車,巴士,試駕,代駕,租車,共 享單車(OFO)等出行服務(wù)。HBase:Hadoop Database,是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng)第2頁(yè),共40頁(yè)。HBase在滴滴的主要使用業(yè)務(wù)在線業(yè)務(wù):服務(wù)于最終用戶,需要實(shí)時(shí)快速地響應(yīng)用戶的操作對(duì)數(shù)據(jù)訪問(wèn)的延時(shí)非常敏感,訪問(wèn)趨向隨機(jī)業(yè)務(wù)如派單,動(dòng)調(diào),計(jì)費(fèi),支付,客服等離線業(yè)務(wù):通常是定時(shí)的大批量處理任務(wù),對(duì)一段時(shí)間內(nèi)的數(shù)據(jù)進(jìn)行處理并產(chǎn)出結(jié)果對(duì)任務(wù)完成的時(shí)間要求一般,處理邏輯復(fù)雜業(yè)務(wù)如天報(bào)表,安全分析,用戶行為

2、分析,模型訓(xùn)練等第3頁(yè),共40頁(yè)。訪問(wèn)HBase的方式HBase Native APIThrift server (C+, PHP, Go,python) PhoenixPhoenix Queryserver MapReduce job Spark Job Streaming第4頁(yè),共40頁(yè)。存放在HBase中的主要數(shù)據(jù)數(shù)據(jù)類型:1. 統(tǒng)計(jì)結(jié)果,報(bào)表數(shù)據(jù)運(yùn)營(yíng)情況,運(yùn)力情況,收入等結(jié)果通常配合Phoenix進(jìn)行SQL查詢數(shù)據(jù)量小,查詢靈活性高,延時(shí)要求一般2. 原始事實(shí)類數(shù)據(jù)訂單,司機(jī),乘客等,GPS和日志等主要用作在線和離線數(shù)據(jù)供給數(shù)據(jù)量大,一致性和可用性要求高,延時(shí)要求高,實(shí)時(shí)寫入,單點(diǎn)或者

3、批量查詢3. 生產(chǎn)中間數(shù)據(jù)和結(jié)果數(shù)據(jù)模型訓(xùn)練所需數(shù)據(jù)等數(shù)據(jù)量大,可用性和一致性要求一般,批量查詢對(duì)吞吐要求高4. 線上系統(tǒng)的備份數(shù)據(jù)歷史數(shù)據(jù),查詢頻率不高,延時(shí)要求高第5頁(yè),共40頁(yè)。場(chǎng)景一:訂單事件需要滿足三個(gè)需求:1. 在線查詢訂單的生命周期的各個(gè)狀態(tài)包括status,event_type,order_detail等信息主要查詢來(lái)自客服系統(tǒng)2. 在線歷史訂單詳情查詢同時(shí)由redis來(lái)存儲(chǔ)近期的訂單,當(dāng)redis不可用,查詢會(huì)直接落到HBase3. 離線對(duì)訂單的狀態(tài)進(jìn)行分析第6頁(yè),共40頁(yè)。場(chǎng)景一:訂單事件寫入,滿足每秒10K事件讀取,滿足每秒1K事件 時(shí)效性,5s以內(nèi)數(shù)據(jù)可用第7頁(yè),共40

4、頁(yè)。場(chǎng)景一:訂單事件1. 訂單狀態(tài)表Rowkey:reverse(order_id) + (MAX_LONG - timestamp)Columns: 該訂單各種狀態(tài)2. 歷史訂單表Rowkey: reversed(passenger_id | driver_id) + (MAX_LONG - timestamp)Columns: 用戶在時(shí)間范圍內(nèi)的所有訂單第8頁(yè),共40頁(yè)。場(chǎng)景二:司機(jī)乘客軌跡需求:1. 滿足實(shí)時(shí)或者準(zhǔn)實(shí)時(shí)司機(jī)乘客的軌跡坐標(biāo)查詢2. 滿足離線大規(guī)模的軌跡分析場(chǎng)景:1. 給定ID,查詢其歷史移動(dòng)軌跡2. 給定時(shí)間和空間范圍,查詢符合條件的所有軌跡第9頁(yè),共40頁(yè)。場(chǎng)景二:司機(jī)乘

5、客軌跡使用坐標(biāo)的業(yè)務(wù):客服系統(tǒng)查詢某客戶的某個(gè)訂單的軌跡可視化系統(tǒng)查詢指定地理范圍的軌跡情況坐標(biāo)半徑距離,坐標(biāo)矩形運(yùn)營(yíng)系統(tǒng)地圖交通分析 質(zhì)量控制第10頁(yè),共40頁(yè)。場(chǎng)景二:司機(jī)乘客軌跡kafkastormHBase坐標(biāo)數(shù)據(jù)流水線:出租車軌跡專車軌跡快車軌跡客服可視化運(yùn)營(yíng)地圖第11頁(yè),共40頁(yè)。場(chǎng)景二:司機(jī)乘客軌跡通過(guò)ID查詢軌跡Rowkey: IDTimestampColumn: 軌跡詳細(xì)信息提供java API給用戶使用通過(guò)地理范圍查找全部出現(xiàn)的軌跡需要建立空間索引表GeoHash分區(qū)Rowkey: Reversed_geohash + Timestamp + ID 提供3種方式訪問(wèn)小范圍或

6、短時(shí)間數(shù)據(jù):API一次性查詢, 延時(shí)小,成本低中等范圍或中等時(shí)間數(shù)據(jù): 提供iterator/scanner批量查詢結(jié)果,延時(shí)較高,成本低大范圍或者長(zhǎng)時(shí)間數(shù)據(jù):提供Base mapper等離線查詢方法,延時(shí)高,成本高第12頁(yè),共40頁(yè)。場(chǎng)景三:ETAETA(預(yù)計(jì)到達(dá)時(shí)間)模型實(shí)時(shí)訓(xùn)練減少訓(xùn)練時(shí)間,準(zhǔn)實(shí)時(shí)生產(chǎn)多城市并行訓(xùn)練增加靈活性減少人工干預(yù)造成的問(wèn)題第13頁(yè),共40頁(yè)。場(chǎng)景三:ETAETA流程:1. 原始數(shù)據(jù)匯集2. 清洗過(guò)濾3. 特征提取4. 存儲(chǔ)和持久化5. 模型訓(xùn)練KafkaProcessorSpark streamingHBaseModel TrainingHDFSETA Serve

7、r訂單司機(jī)軌跡聚合后行程有效性信息特征數(shù)據(jù)分城市,時(shí)間的特征第14頁(yè),共40頁(yè)。場(chǎng)景三:ETA模型訓(xùn)練通過(guò)spark任務(wù),每30分鐘對(duì)各個(gè)城市訓(xùn)練一次模型訓(xùn)練第一個(gè)階段,在5分鐘內(nèi),按照設(shè)定條件從HBase讀取所有城市數(shù)據(jù) 模型訓(xùn)練第二階段在25分鐘之內(nèi)完成ETA的計(jì)算Rowkey: Salting+CityId+Type0+Type1+Type2+Timestamp Columns: Order, FeatureHBase中的數(shù)據(jù)會(huì)每隔一段時(shí)間持久化至HDFS中,供新模型測(cè)試和新特征提取第15頁(yè),共40頁(yè)。場(chǎng)景四:監(jiān)控工具Hadoop集群資源監(jiān)控和查詢將hdfs文件的信息和job histo

8、ry定期導(dǎo)入HBase 通過(guò)phoenix來(lái)做復(fù)雜交互查詢生產(chǎn)各種報(bào)表在前端展示第16頁(yè),共40頁(yè)。場(chǎng)景四:監(jiān)控工具大量數(shù)據(jù)每日匯聚到HBase,用戶通過(guò)phoenix進(jìn)行查詢CollectorHBasePhoenixWebfsimagejobhistory第17頁(yè),共40頁(yè)。場(chǎng)景四:監(jiān)控工具該監(jiān)控工具每天將幾億的路徑信息和當(dāng)天執(zhí)行的任務(wù)歷史信息寫入HBaseRowkey: path / jobIdColumns: 多列的相關(guān)信息用戶通過(guò)phoenix用SQL對(duì)數(shù)據(jù)統(tǒng)計(jì) 結(jié)果在秒級(jí)別返回第18頁(yè),共40頁(yè)。場(chǎng)景四:監(jiān)控工具第19頁(yè),共40頁(yè)。場(chǎng)景四:監(jiān)控工具第20頁(yè),共40頁(yè)。場(chǎng)景四:監(jiān)控工具

9、第21頁(yè),共40頁(yè)。HBase多租戶的挑戰(zhàn)用戶管理項(xiàng)目管理 資源隔離 性能優(yōu)化 成本控制第22頁(yè),共40頁(yè)。基礎(chǔ)平臺(tái)管理者和用戶的戰(zhàn)斗用戶方面常見的問(wèn)題:對(duì)使用資源情況不做分析數(shù)據(jù)量變化后不做調(diào)整項(xiàng)目上下線無(wú)計(jì)劃永遠(yuǎn)想要最多的權(quán)限永遠(yuǎn)想要最多的資源平臺(tái)管理者常見的問(wèn)題:難以理解所有的用戶的業(yè)務(wù)對(duì)項(xiàng)目目前的狀態(tài)不清楚不能判斷用戶的需求是否合理出現(xiàn)問(wèn)題定位排查時(shí)間長(zhǎng)一個(gè)用戶的問(wèn)題會(huì)影響其它用戶第23頁(yè),共40頁(yè)。滴滴HBase用戶和項(xiàng)目的管理方案通過(guò)DHS(Didi HBase Service)來(lái)管理項(xiàng)目通過(guò)namespace, RS group等技術(shù)來(lái)分隔用戶數(shù)據(jù)和權(quán)限通過(guò)計(jì)算開銷并計(jì)費(fèi)的方法來(lái)

10、管控資源分配第24頁(yè),共40頁(yè)。Didi HBase Service (DHS)系統(tǒng)項(xiàng)目生命周期管理立項(xiàng)資源預(yù)估和申請(qǐng)項(xiàng)目需求調(diào)整需求討論用戶管理權(quán)限管理項(xiàng)目審批資源管理集群管理第25頁(yè),共40頁(yè)。DHS系統(tǒng)創(chuàng)建項(xiàng)目:第26頁(yè),共40頁(yè)。DHS系統(tǒng)新建表以及性能需求預(yù)估第27頁(yè),共40頁(yè)。DHS系統(tǒng)項(xiàng)目流程審批第28頁(yè),共40頁(yè)。DHS系統(tǒng)項(xiàng)目表監(jiān)控第29頁(yè),共40頁(yè)。DHS系統(tǒng)資源管理,集群整體的情況,方便分配資源第30頁(yè),共40頁(yè)。DHS系統(tǒng)正在開發(fā)中的功能:與自動(dòng)化運(yùn)維系統(tǒng)連接,自動(dòng)化on-boarding的整個(gè)流程,包括建表,權(quán)限,資源分 配,配置設(shè)置等與監(jiān)控系統(tǒng)連接,用戶可以查看項(xiàng)目

11、下的集群健康狀況,訪問(wèn)情況 自動(dòng)報(bào)警,按照用戶指定的條件(如延時(shí),存儲(chǔ)等)報(bào)警管理員配置項(xiàng)目health checker,按照設(shè)置條件和頻率檢測(cè)項(xiàng)目健康狀況并做出反 應(yīng)加入其它必要工具,如bulk load工具第31頁(yè),共40頁(yè)。資源隔離與分配資源共享還是獨(dú)占?資源利用率和服務(wù)質(zhì)量的矛盾 多租戶共享資源好處:資源利用率高,維護(hù)簡(jiǎn)單壞處:用戶競(jìng)爭(zhēng)資源,難以發(fā)現(xiàn)問(wèn)題多租戶獨(dú)占資源好處:資源沖突減少,可用性高,細(xì)粒度維護(hù)壞處:業(yè)務(wù)低峰時(shí)段資源浪費(fèi),維護(hù)成本高第32頁(yè),共40頁(yè)。資源隔離與分配共享與獨(dú)占共存按照業(yè)務(wù)的特性來(lái)選擇不同方案 共享資源:對(duì)訪問(wèn)延時(shí)要求低訪問(wèn)量小可用性要求低備份或者測(cè)試階段的數(shù)

12、據(jù)獨(dú)占資源:延時(shí),吞吐要求高高峰時(shí)段訪問(wèn)量大可用性要求高在線業(yè)務(wù)第33頁(yè),共40頁(yè)。資源分配的方法需求分析用戶需要給出預(yù)估的表大小,訪問(wèn)方式和吞吐,表的屬性等需要給出均值和最大值,如果可能,給出未來(lái)幾個(gè)季度的預(yù)計(jì)增長(zhǎng)情況上線流程開發(fā)集群-測(cè)試集群-線上集群HBase Regionserver Group分配按照需求和測(cè)試集群的狀況,計(jì)算出所需的regionserver個(gè)數(shù)通常會(huì)在額外給20%-30%的資源定期報(bào)告和賬單每個(gè)月自動(dòng)檢測(cè)資源使用情況計(jì)算開銷發(fā)送給用戶第34頁(yè),共40頁(yè)。HBase Regionserver GroupHBASE-6721: RegionServer Group ba

13、sed Assignment通過(guò)namespace和RS group兩個(gè)功能對(duì)資源和權(quán)限進(jìn)行隔離用戶的一個(gè)或者多個(gè)table可以分配在指定的regionserver列表中,這個(gè)列表稱為一 個(gè)RS group。一個(gè)HBase集群的計(jì)算資源被邏輯上分成了多個(gè)groups。對(duì)每個(gè)用戶按需分配group。HMasterRegionserver_0Regionserver_1Regionserver_2Regionserver_3RS Group 1RS Group 2Table_0Table_1Table_2第35頁(yè),共40頁(yè)。HBase Regionserver Group使用RS group可以幫

14、助我們:更容易的權(quán)限分配 (通過(guò)綁定group的namespace權(quán)限)避免多用戶資源爭(zhēng)搶造成的不公平和性能問(wèn)題可以對(duì)一個(gè)group進(jìn)行單獨(dú)的優(yōu)化,hbase conf, gc等異構(gòu)集群更好管理成本計(jì)算更加容易日常維護(hù)滾動(dòng)升級(jí)可以增量進(jìn)行,而且可以并行化第36頁(yè),共40頁(yè)。成本控制資源分配考慮的因素:表的總大小讀寫吞吐訪問(wèn)方式存活時(shí)長(zhǎng)延時(shí)要求資源計(jì)算的方式:用戶預(yù)估測(cè)試環(huán)境評(píng)估線上定期監(jiān)控保證靈活合理地分配資源第37頁(yè),共40頁(yè)。付費(fèi)服務(wù)服務(wù)不是免費(fèi)的!公司內(nèi)部的一二級(jí)部門都會(huì)定期收到賬單,按照使用的資源付費(fèi)。 付費(fèi)的原因:降低公司的總成本減少平臺(tái)維護(hù)者的不必要工作鼓勵(lì)用戶優(yōu)化業(yè)務(wù),用更少的資源做更多的事各個(gè)部門資

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論