集團大數據云平臺方案規劃_第1頁
集團大數據云平臺方案規劃_第2頁
集團大數據云平臺方案規劃_第3頁
集團大數據云平臺方案規劃_第4頁
集團大數據云平臺方案規劃_第5頁
已閱讀5頁,還剩57頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第集團大數據云平臺方案規劃目錄 TOC o 1-3 f 1綜述 PAGEREF _Toc508652073 h 31.1項目背景 PAGEREF _Toc508652074 h 31.2建設目標 PAGEREF _Toc508652075 h 31.3需求分析 PAGEREF _Toc508652076 h 31.3.1基礎平臺 PAGEREF _Toc508652077 h 41.3.2企業畫像應用 PAGEREF _Toc508652078 h 52大數據云服務平臺對應用的支撐需求 PAGEREF _Toc508652079 h 62.1用戶與企業畫像支撐能力 PAGEREF _Toc50

2、8652080 h 62.2物聯網數據分析能力 PAGEREF _Toc508652081 h 82.3互聯網數據應用支撐能力 PAGEREF _Toc508652082 h 112.3.1爬蟲引擎 PAGEREF _Toc508652083 h 112.3.2實時查詢 PAGEREF _Toc508652084 h 122.4非結構化數據處理能力 PAGEREF _Toc508652085 h 172.4.1文本識別 PAGEREF _Toc508652086 h 172.4.2PDF圖像識別 PAGEREF _Toc508652087 h 212.4.3全文檢索 PAGEREF _Toc5

3、08652088 h 213總體建設方案 PAGEREF _Toc508652089 h 233.1平臺框架設計理念 PAGEREF _Toc508652090 h 233.2功能架構 PAGEREF _Toc508652091 h 243.3技術架構 PAGEREF _Toc508652092 h 253.4產品覆蓋綜述 PAGEREF _Toc508652093 h 263.5數據分布架構 PAGEREF _Toc508652094 h 273.6關鍵技術說明 PAGEREF _Toc508652095 h 273.6.1云服務平臺 PAGEREF _Toc508652096 h 273.

4、6.2Hadoop平臺 PAGEREF _Toc508652097 h 393.6.3元數據管理 PAGEREF _Toc508652098 h 403.6.4數據治理 PAGEREF _Toc508652099 h 473.6.5爬蟲引擎 PAGEREF _Toc508652100 h 523.6.6數據探索 PAGEREF _Toc508652101 h 563.6.7自助分析 PAGEREF _Toc508652102 h 573.6.8企業畫像 PAGEREF _Toc508652103 h 58綜述項目背景互聯網、云計算、物聯網、及時通訊工具和社交網絡的興起和普及,特別是大數據技術的

5、應用,正深刻改變著當前市場格局。達沃斯世界經濟論壇發布的大數據,大影響:國際發展的新可能的報告宜稱,大數據已成為與貨幣和黃金一樣的一種新的經濟資產類別。,美國總統辦事室(EOP)公布了大數據研究和發展規劃,把大數據研發應用從商業行為提升到國家戰略層面。在這種新形式下,大數據項目將會作為整個集團的跨公司、跨部門、跨內外的數據綜合服務平臺,承載著互聯網+業務的核心樞紐。該平臺的主要建設目標是為集團及其全部相關機構提供全棧大數據服務,包括技術平臺、數據應用及產品、數據服務。該平臺的建設目標并不僅僅局限于使用大數據技術構建數據分析系統,而是基于云計算、云服務的理念,打造集團“數據即服務”的平臺理念。通

6、過整合集團、子公司、互聯網+平臺、第三方等數據,通過授權機制為集團本部、各子公司、合作伙伴、投資方等提供經營、決策等所需的相關大數據能力和數據服務。建設目標本期項目建設目標:為集團及其全部相關機構提供全棧式大數據服務,包括技術平臺、數據應用及產品、數據服務;基于云計算、云服務的理念,打造集團“能力、數據即服務”的平臺理念;為集團本部、各子公司、合作伙伴、投資方等提供經營、決策等所需的相關大數據基礎能力和數據服務。需求分析本期大數據云服務平臺項目包括大數據基礎平臺建設、企業畫像應用兩部分。其中數據云平臺接入中信云平臺,統一進行運營和對外提供服務?;A平臺基礎平臺提供一站式大數據解決能力和一站式數

7、據分析能力。平臺系統支持PaaS層能力,承載用戶創建、修改、刪除計算與存儲資源,創建、發布、與回收業務應用等平臺管理功能以及元數據管理、數據質量等數據管控功能;平臺系統支持DaaS層能力,即支持數據采集、存儲(數據湖)、計算以及展現四大部分能力;平臺系統支持SaaS層能力,支持數據的分發、共享、探索、以及協作等功能。采集部分支持通過探針、爬蟲、ETL手段從數據源將數據錄入該平臺,從數據類型上看,采集部分支持結構化數據采集與非結構化數據采集;從實效性上看,平臺支持實時數據采集、初始化數據采集以及增量數據采集;從業務層面看平臺支持業務數據采集與第三方數據采集多個維度。存儲部分負責將采集端收集的數據

8、,以及平臺內部處理后生成的數據永久性存放。從數據類型上看,平臺支持結構化存儲、半結構化存儲以及非結構化存儲;從使用方式上看可以平臺支持歸檔數據存儲、批處理數據存儲以及在線熱數據存儲;從業務層面來看平臺支持外部數據、子公司業務主數據以及互聯網+平臺數據存儲。計算部分負責對存儲區的數據進行操作,平臺支持增刪改查、分析統計、模糊檢索、挖掘預測等功能。從數據類型上看,平臺支持結構化數據計算(SQL)與半結構化/非結構化數據計算;而從使用方式上看,平臺支持離線計算、在線應用以及實時處理。數據展現層支持開發運維展現與應用展現能力。該平臺具有完整的可視化開發運維界面,能夠通過圖形的方式進行平臺的狀態與健康監

9、控、性能分析、日志查詢、資源管控等運維功能,以及在線開發、調試、部署與診斷功能。平臺支持在BI報表,OLAP交互式分析、用戶自由查詢、交互式挖掘、模糊檢索、移動端展示等可視化功能。平臺基于云計算、云存儲的理念,打造集團“數據即服務”的平臺理念,該平臺能夠使集團將各個子公司、機構與部門的數據有機地結合到一起,能夠使用戶在該平臺中自由地創建、修改、刪除計算存儲資源,能夠有效靈活地訪問到其他用戶公開的數據,并自由定義自身需要的數據處理邏輯與報表展現方案,并將結果數據進行公開與共享。平臺需要能夠滿足用戶自定義數據加工與分析流程,包括:支撐用戶與企業畫像應用;提供物聯網數據分析能力;支撐互聯網數據應用;

10、提供非結構化數據處理能力。企業畫像應用企業畫像應用圍繞集團的子公司,整合集團內外部數據從多個維度進行企業畫像,增強對子公司的洞察和智能管控。企業畫像將圍繞企業基本資料、股東信息、股權關系、關聯圖譜、管理層信息等維度展示,以及結合企業動態、其它動態信息等動態更新。內部數據以從多個集團公司上報的股權結構、財務數據、合同文件等為主,同時結合外部數據服務、互聯網爬蟲收集的企業相關信息,對企業進行多維度深入分析,構建統一的企業畫像系統。應用具備良好的用戶體驗,提供移動端應用。大數據云服務平臺對應用的支撐需求用戶與企業畫像支撐能力企業用戶畫像通過內部采集企業自有數據、購買和交換政府等其他外部組織數據、爬取

11、互聯網公開數據,并對這些數據進行融合加工,形成企業用戶畫像的基礎數據,為后續企業用戶畫像深加工奠定基礎。企業用戶畫像的數據源如下圖所示:圖:企業用戶畫像數據源通過對數據進行深度加工、數據挖掘、統計分析等操作,企業用戶畫像構建了企業全景視圖,包含企業基本信息、股權信息、風險評估、投資關系、關系圖譜、市場動態、行業熱點等信息,如下圖所示:圖:企業用戶畫像全景視圖企業用戶畫像提供豐富的可視化應用展現,使集團領導和企業用戶畫像的業務應用部門,得以清晰和直觀地了解和分析企業用戶的偏好和行為。應用展現提供PC和移動端等多種形式,提供優秀的用戶體驗效果??梢暬瘧谜宫F示例如下圖所示:圖:企業畫像PC可視化展

12、現圖:企業畫像移動終端展現物聯網數據分析能力針對當前企業級用戶實時數據處理的需求,Hadoop平臺產品引入了Spark stream和Storm作為流處理計算引擎,并在其上進行功能增強,搭建了流處理工廠。流數據處理產品提供基于開源流處理框架的底層優化版本,系統管理工具,可視化開發工具。在對開源組件的深入了解及分析的基礎上,結合實際項目應用進行了大量的組件優化與重構,從而使組件擁有更加高效的數據處理能力及穩定性。主要特點為:支撐基于多個實時數據流的數據處理。更貼近用戶需求,提供預制的數據標簽,方便用戶業務訂制,減少開發工作;支持通過界面配置的方式,對實時數據進行增強與擴展,也可以在使用中央標簽庫

13、的原有標簽的同時,通過對接自定義標簽接口,實現個性化數據增強需求,通過界面化配置即可以插件方式注冊到流計算平臺。 完整的解決方案(包括消息中心、高速緩存等),內置的分布式緩存框架支持海量靜態數據分布式緩存,滿足動態數據與靜態數據的快速交互讀寫需求。 友好易用的可視化界面,便于用戶業務定制和監控運維;數據接入、應用開發可視化:通用可配置的數據源適配器,簡化流數據接入及合并,針對不同數據格式的融合及不同數據源的時間延遲優化流數據采集。通過流程化配置,快速實現業務邏輯。豐富的數據訂閱方式,通過輸出適配,可方便將結果輸出至不同應用使用。豐富簡單的開發API接口,降低特性業務插件開發難度。在對物聯網數據

14、分析時,配置Flume組件作為日志收集工具。在兩個接口機器上各啟動三個flume agent分別收集三類物聯網數據。配置界面如下:圖:Flume Agent配置界面Flume收集物聯網數據并通過Kafka sink輸出給Kafka上的對應topic, 然后Spark Streaming程序從Kafka的topic中獲取數據進行分析;然后通過spark命令提交作業監聽某類數據的topic;最后, Spark Streaming從topic中獲得數據,并將數據寫入HBase中三類數據的對應表中。處理過程中三類數據同時傳入,配置規則引擎drools,使流處理程序可以對物聯網數據中超過80度且濕度大于

15、60%的數據生成告警;流處理程序收到的數據經過規則引擎處理,將告警數據寫入HBase中的告警表。在物聯網日志數據分析全部過程中,各組件性能指標:圖:Flume組件性能指標圖:集群CPU指標圖:集群磁盤變化互聯網數據應用支撐能力爬蟲引擎互聯網是一個龐大的非結構化的數據庫,將數據有效的檢索并組織呈現出來有著巨大的應用前景?;ヂ摼W數據形式豐富,且網絡技術不斷發展,圖片、音頻、視頻等不同數據大量出現,需要網絡爬蟲將這些多樣化的網頁中用戶真正關心的內容抓取下來。利用網絡爬蟲,有效地提取并利用這些信息,將低價值密度的公開數據進行加工,形成自己的數據,可以發現網絡趨勢、預測商機等。隨著企業的不斷發展,進入了

16、被數據“追趕”的階段,越來越多的企業會依賴大數據來提升自身的經營能力。單獨一個企業所掌握的數據不足以支撐自有業務分析,通過網絡爬蟲可整合各方公開的數據,方便各方對數據的利用。網絡爬蟲是通過網頁的鏈接地址來尋找網頁,從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。如果把整個互聯網當成一個網站,那么網絡爬蟲就可以用這個原理把互聯網上所有的網頁都抓取下來。網絡爬蟲的目標如下:對互聯網海量公開數據獲取 對龐大的互聯網數據進行有效地提取并利用,將數據進行沉淀和加工形成價值數據,支撐

17、企業建設自己的全網資源庫,有著巨大的應用前景。用戶互聯網行為分析,助力企業精準營銷隨著人們對互聯網的習慣性依賴,使得互聯網數據對用戶行為的分析尤為重要,通過對用戶在互聯網海量內容中的選擇傾向性分析,挖掘用戶上網行為規律,與企業廣告策劃和營銷策略相結合,為企業帶來更大的價值。互聯網輿情和商情數據捕獲,助力企業輿情競品分析在人人自媒體時代,信息實時化、碎片化明顯,通過收集各類新聞、社交、論壇、貼吧、微博等網站信息,進行網絡輿情話題發現與追蹤,社會不利因素預警監測。實時查詢基于云平臺,構建實時查詢能力,解決海量數據處理的性能瓶頸問題。提供的實時查詢能力是開放的,支持Thrift、Java API、H

18、TTP、FTP等多類接口。查詢服務對上層業務提供靈活的數據查詢,屏蔽下層不同存儲處理方式的查詢。通過統一的接口讓使用者和物理數據源隔離了開來。這使得不同的數據結構或異構的數據存儲,都不會對使用者產生不利影響。半/非結構化數據查詢:使用OpenApi的形式,通過HTTP協議來查詢小批量數據,系統提供高穩定性與低延遲的性能保證。結構化數據查詢:使用各種復雜的SQL中聚合分組語法來獲取數據,導出XML、JSON等格式數據,適用于稍大數據量的即時分析類查詢需求。針對以下數據查詢的典型的業務場景分別描述。模型類API對于數據模型表如渠道模型,使用多維API的方式來查詢。數據存在關系型數據庫或Spark

19、RDD中,通過API接受參數生成過濾SQL返回出二維表格數據。服務請求:以上請求地址:http:/server:port/open/channel/brand=1,2/channel_id,fh,biz服務會把請求參數轉換成類似的sql為:select channel_id,fh,biz from channel where brand in (1,2)文件接口服務支持在內外部系統的不同存儲間(如Hadoop、DB2、MPP等),進行數據的交換、同步、分發。交互的可以通過接口文件、JDBC等多種方式,適用于需要大量數據交換的場景。針對大批量數據的交互,不適用使用HTTP服務承載,通過調用底層事

20、件服務與分發服務,提交一個異步分發請求,如輸入分發腳本、分發目錄包裝成消息,提交到事件服務,數據導出完成后分發到相應的主機目錄在提供的實時查詢能力引入phoenix sql解析引擎,并對phoenix進行封裝,直接調用封裝后接口傳入sql語句便可執行sql語句得出結果,無需關注連接細節,同時,我們也將phoenix數據庫連接池管理功能封裝在OCNoSQL中,用戶無需開發連接池功能。sql支持能力,支持大部分常用函數,支持多表union,支持多表join,支持subquery(子查詢),支持二級索引JAVA native API接口: public List queryByRowkey(Conn

21、ection conn, String rowkey, List tableNames, Criterion criterion, Map param,List columnFamilies)根據單個rowkey進行多表查詢,返回由數據組成的記錄。參數說明Connection:HBase連接rowkey:主鍵tableNames:表名criterion:過濾條件param:額外參數columFamilies:需要查詢的列名public List queryByRowkey(Connection conn, String rowkey, List tableNames, Criterion cr

22、iterion, Map param,List columnFamilies)根據多個rowkey進行多表查詢,返回由數據組成的記錄。參數說明Connection:HBase連接rowkey:多個主鍵tableNames:多個表名criterion:過濾條件param:額外參數columFamilies:需要查詢的列名public List queryByRowkey(Connection conn, String startKey, String stopKey,List tableNames, Criterion criterion, Map param,List columnFamili

23、es)根據starkKey和stopKey進行多表條件查詢,返回由數據組成的記錄。參數說明Connection:HBase連接startKey:開始主鍵stopKey:結束主鍵tableNames:多個表名criterion:過濾條件param:額外參數columFamilies:需要查詢的列名JDBC接口:public int excuteNonQuery(String sql)執行更新操作,返回成功條數。參數說明sql:待執行sql語句public void excuteNonQuery(String sqls, int batchSize)執行批量更新操作,返回成功條數。參數說明sql:

24、待執行sql語句batchSize:批量更新閾值,即每更新多少條提交一次public int excuteNonQuery(String sql, Object args)執行批量更新操作,返回成功條數。參數說明sql:待執行sql語句args:sql語句參數值public void excuteNonQuery(String sqls, List args, int batchSize)執行批量更新操作,返回成功條數。參數說明sql:待執行sql語句args:sql語句參數值batchSize:批量更新閾值,即每更新多少條提交一次public ResultSet executeQueryRa

25、w(String sql)執行查詢操作,返回標準JDBC ResultSet。參數說明:sql:待執行sql語句public ResultSet executeQueryRaw(String sql, Object args)執行查詢操作,返回標準JDBC ResultSet。參數說明:sql:待執行sql語句args:sql語句參數值public ListMap executeQuery(String sql)執行查詢操作,返回Map數組。參數說明:sql:待執行sql語句public ListMap executeQuery(String sql, Object args)執行查詢操作,返

26、回Map數組。參數說明:sql:待執行sql語句args:sql語句參數值Thrift接口public int excuteNonQueryFir(String sql)執行更新操作,返回成功條數。參數說明sql:待執行sql語句public int excuteNonQuerySec(String sql, List param)執行批量更新操作,返回成功條數。參數說明sql:待執行sql語句param:sql參數值public int excuteNonQueryThr(List sql, int batchSize)執行批量多條sql語句更新操作,返回成功條數。參數說明sql:待執行sq

27、l語句數組batchSize:批量更新閾值,即每更新多少條提交一次public int excuteNonQueryFou(List sql, ListList param, int batchSize)執行批量多條sql語句更新操作,返回成功條數。參數說明sql:待執行sql語句數組param:sql對應參數值batchSize:批量更新閾值,即每更新多少條提交一次public ListMap executeQueryFir(String sql)執行查詢操作,返回Map數組。參數說明:sql:待執行sql語句public ListMap executeQuerySec(String sql

28、, List param)執行查詢操作,返回Map數組參數說明:sql:待執行sql語句param:sql參數值非結構化數據處理能力文本識別本期集團公有云平臺將引入外部非結構化文本數據。集成商應協助對外部行業數據進行梳理,并負責外部數據的采集,建模,加工等工作。文本數據梳理、建模應對外部行業的結構化數據進行梳理,找到與移動數據的耦合點。結合外部行業數據特點進行概念建模、邏輯建模、物理建模。實現外部行業數據的集中存儲。文本數據梳理整合外部數據整合數據整合前要檢查采集數據的質量,檢查合格的數據方可整合。外部數據整合數據整合入庫主要包括互聯網原始信息數據、互聯網門戶結構目錄數據和標準化相關數據整合入

29、庫。整合主要包括:1)通用性整合,具有通用意義的互聯網信息的整合,整合時在邏輯上放置到一個表中。2)業務專題整合,基于某個特定業務應用需要整合的互聯網信息信息,整合是根據實際需求,放置到同一表中或分表存儲。對于整合的處理辦法:1)同一區域范圍內,多個數據來源,同種互聯網信息整合問題。用去重處理,通過在方案時確定優勢性最高的數據源為基準數據,以此為基礎對其他數據源同種數據進行去重后,進行整合。2)根據互聯網信息業務應用集中,需要整合的互聯網信息的時效性問題。確定采集時間點來處理整合的時效性問題。數據分類我們對于分類的處理,主要包含互聯網信息切詞處理,并獲取詞的長度、詞性、屬性等信息,對于分類的分

30、析,我們主要是通過規則分類、關鍵詞分析和語義分析三個方面進行處理。語義分析特征模式:語義類一般存在有特別的特征模式。包括組成詞的詞性,詞形式,上下文等都滿足一定的規則。利用這種模式就可以做基本的語義判斷。各個語義類的處理按照優先級順序執行,后處理的語義類依賴先處理的語義類的執行結果。當某個詞已經被識別為某個語義后,就不會被再識別為其他語義。先處理模式清晰,會給其他語義類帶來歧義的語義。這樣剝離了大量可能會對復雜語義類造成干擾的因素,簡化了其他語義類的處理。例如“三元橋地鐵站機場專線”作為地鐵出口提取后,“機場專線”就不會再被識別為機場類別。中文分詞中文分詞主要是對中文信息的自動智能分析,對地理

31、位置信息的處理,主要是將一個漢字序列切分成一個一個單獨的詞,加快對于地名的識別,以及對于POI分類的精準性。中文分詞算法實現分詞有以下幾個步驟: 1)全切分,原子切分;2)N最短路徑的粗切分,根據隱馬爾科夫模型和viterbi算法,達到最優路徑的規劃;3)地名等實體名識別;4)系統詞典補充;5)用戶自定義詞典的補充;6)詞性標注。實體名識別,包括人名識別、地名識別、機構名識別,還包括有監督識別和無監督識別。有監督的還好,無監督基本是無解的,比如“上海的自來水來自海上”是“上?!边€是“海上”,對于中文分詞很重要。分詞的顆粒度,可以通過規則來確定,比如“北京大學”是“北京”+“大學”還是“北京大學

32、”,就連同一個人不同時間的標注也有可能是有區別的,對分詞結果的評測卻有著很大的關系。建立詞典,一方面對地理系統的專業詞進行補充,一方面采用新詞發現的方式,不使用規則,用統計重復串識別新詞,根據詞性去掉干擾詞。添加詞性的標注,對于POI分類中,中文的理解,有很大的用處。格式為:自定義詞 詞性 詞頻,如:csdn創新院 userDefine 1000,中間用TAB鍵隔開 原分詞結果:csdn, 創新, 院, 是, 一個, 好, 公司 增加詞典后:csdn創新院, 是, 一個, 好, 公司文本數據清洗外部數據有效性判斷,是對爬蟲采集過來的外部數據信息,按照相關規范標準,進行規范化轉換,轉換成符合規范

33、標準的數據基礎、數據格式一致的基礎數據。外部數據有效性數據的判斷,主要不符合要求的數據主要是有不完整的數據、錯誤的數據和重復的數據三大類。1)外部數據缺失數據,其特征是一些應該有的互聯網數據信息缺失,將這一類數據過濾出來,按缺失的內容,需要進行補全。2)外部數據無效數據,產生原因是互聯網的海量數據過多,導致爬蟲采集到的數據會產生數值錯誤格式不規范,可能對互聯網信息無效,互聯網爬取內容無效。這一類的無效、錯誤數據,采取修正或刪除。3)外部數據重復數據,該數據主要分為兩種,基于互聯網外部數據爬蟲,從各個門戶網站爬取下來的信息,包含大量重復信息,初期需要建立較為完善的過濾規則,同時,在數據整合之前,

34、需要對數據進行質量檢查。PDF圖像識別光學字符識別(OCR,Optical Character Recognition)是指對文本資料進行掃描,然后對圖像文件進行分析處理,獲取文字及版面信息的過程。OCR技術非常專業,一般多是印刷、打印行業的從業人員使用,可以快速的將紙質資料轉換為電子資料。Tesseract的OCR引擎最先由HP實驗室于1985年開始研發,至1995年時已經成為OCR業內最準確的三款識別引擎之一。然而,HP不久便決定放棄OCR業務,Tesseract也從此塵封。數年以后,HP意識到,與其將Tesseract束之高閣,不如貢獻給開源軟件業,讓其重煥新生2005年,Tessera

35、ct由美國內華達州信息技術研究所獲得,并求諸于Google對Tesseract進行改進、消除Bug、優化工作。Tesseract引擎功能強大,概括地可以分為兩部分:圖片布局分析 字符分割和識別 圖片布局分析,是字符識別的準備工作。工作內容:通過一種混合的基于制表位檢測的頁面布局分析方法,將圖像的表格、文本、圖片等內容進行區分。字符分割和識別是整個Tesseract的設計目標,工作內容最為復雜。首先是字符切割,Tesseract采用兩步走戰略:利用字符間的間隔進行粗略的切分,得到大部分的字符,同時也有粘連字符或者錯誤切分的字符。這里會進行第一次字符識別,通過字符區域類型判定,根據判定結果對比字符

36、庫識別字符。 根據識別出來的字符,進行粘連字符的分割,同時把錯誤分割的字符合并,完成字符的精細切分。全文檢索搜索引擎是目前互聯網信息服務的主要工具,對于傳統意義上的互聯網搜索引擎來說,他的資源范圍廣、面積大,資料全,用戶輸入一個檢索關鍵詞,結果幾乎任何類型、任何主題的資源。隨著企業信息系統的發展,越來越多的應用系統投入使用,經過多年的運行積累,存儲了海量的信息。這些信息存儲在相應的應用系統中,當用戶在使用這些信息時,需要耗費大量的時間去查找。Solr是一個基于Lucene的Java搜索引擎服務器。Solr 提供了層面搜索、命中醒目顯示并且支持多種輸出格式(包括 XML/XSLT 和 JSON

37、格式)。它易于安裝和配置,而且附帶了一個基于 HTTP 的管理界面。Solr已經在眾多大型的網站中使用,較為成熟和穩定。Solr 包裝并擴展了 Lucene,所以Solr的基本上沿用了Lucene的相關術語。更重要的是,Solr 創建的索引與 Lucene 搜索引擎庫完全兼容。通過對Solr 進行適當的配置,某些情況下可能需要進行編碼,Solr 可以閱讀和使用構建到其他 Lucene 應用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 創建的索引。Solr的體系結構如下圖所示:圖:Solr體系結構文檔通過Http利用XML 加到一個搜索集合中。查詢該

38、集合也是通過http收到一個XML/JSON響應來實現。它的主要特性包括:高效、靈活的緩存功能,垂直搜索功能,高亮顯示搜索結果,通過索引復制來提高可用性,提供一套強大Data Schema來定義字段,類型和設置文本分析,提供基于Web的管理界面等??傮w建設方案平臺框架設計理念大數據云服務平臺整體可分為基礎能力、服務管理、應用及工具能力三個層次,基礎能力通過通用的服務框架供給出去,讓應用和工具無需關心底層細節;服務管理起到承上啟下的作用,貫穿基礎能力和上層應用及工具;應用框架提供了應用及工具的開發管理、部署和運行服務,通過Docker實現最小化改動和便利部署。功能架構如上圖所示,大數據平臺功能需

39、包括基礎能力服務、服務管理、應用和工具、數據可視化及管控中心五部分內容:基礎能力服務包括中間件及數據庫等服務和大數據服務兩個方面,為滿足本期項目需求,中間件及數據庫服務包括Tomcat、Kafka、RabbitMQ、Redis、MongoDB、Greenplum、MySQL、Solr、Flume等基礎服務,大數據服務包括HDFS、HBase、Hive、Spark、R等基礎服務。服務管理包括多集群資源調度管理、服務管理和容器編排管理功能。大數據應用包括企業客戶畫像應用,工具包括DataHub工具、企業級ETL工具、數據治理工具、自助分析工具、數據探索工具和非結構化數據處理工具。數據可視化包括平臺

40、運維可視化、大數據基礎存儲與計算能力可視化、大數據開發可視化、自助BI可視化、應用與開發管理可視化、數據交換能力可視化及企業畫像應用可視化。管控中心功能包括租戶管理、資源管理、服務集群管理、計費管理、安全管理和系統管理功能。技術架構從技術上,本期提供的基礎服務能力包括Tomcat、Kafka、RabbitMQ、Redis、MongoDB、Greenplum、MySQL、Solr、Flume等,Hadoop基礎服務能力包括HDFS、HBase、Hive、Spark、R等。服務管理核心技術包括Mesos(實現多集群資源調度管理)、ServiceBroker(實現基礎服務與應用統一的服務管理)、Ku

41、bernetes(實現容器編排管理)。應用與工具都是基于基礎服務能力構建起來的:企業客戶畫像應用:Web中間件采用Tomcat,數據處理能力采用Greenplum和Spark計算框架;DataHub工具:Web中間件采用Tomcat,消息中間件采用Kafka,數據庫采用MySQL、Redis和MongoDB;企業級ETL工具:Web中間件采用Tomcat,消息中間件采用Kafka和RebbitMQ,數據庫采用MySQL,數據處理采用Hive和Spark;數據采集使用flume;數據治理工具:Web中間件采用Tomcat,數據庫采用MySQL;自助分析工具:Web中間件采用Tomcat,數據庫采

42、用Greenplum;數據探索工具:Web中間件采用Tomcat,數據庫采用MySQL,數據處理采用SparkR;非結構化數據處理工具:Web中間件采用Tomcat,數據庫采用MySQL,爬蟲采用HttpClient,全文檢索采用Solr,圖像識別采用OCR tesseract。數據可視化能力采用的核心技術包括HTML5、JQuery、BITools、JFreeChart、Canvas等。管控中心Web中間件采用Tomcat,數據庫采用MySQL,Hadoop集中式安全管理框架采用Ranger,Hadoop統一運維監控告警采用Ambari。產品覆蓋綜述產品可完整覆蓋上述功能架構:大數據平臺整體

43、框架采用云服務平臺產品,Hadoop平臺采用Hadoop平臺產品,企業客戶畫像采用企業畫像產品,DataHub工具采用DataHub產品,企業級ETL工具采用ETL產品,數據治理工具采用治理產品,自助分析工具采用自助分析產品,數據探索工具采用探索產品,非結構化數據處理工具采用非結構化數據處理產品,包括爬蟲工具、圖像識別工具和全文檢索工具。數據分布架構大數據平臺數據分布架構如上圖所示:接口機:承擔數據采集的功能,內部渠道數據包括合同文件、股東信息、物聯網數據等,外部數據包括工商數據、法務數據、運營商數據等,通過接口機進入HDFS文件系統;文件系統HDFS:存放企業合同附件(PDF),股東信息、企

44、業關系、法務信息、工商稅務信息、數據交換信息等在HDFS上加工處理后入到HBase、Redis數據庫中;HBase:存放企業股東信息、企業關系等相關數據;外部數據(包括工商稅務及外部爬取的相關數據);物聯網相關數據;Greenplum:存放在線匯總數據(如未來接入的物聯網數據二次匯總數據);Redis:存放爬蟲引擎所需的實例庫及DataHub的數據信息;MySQL:平臺配置信息庫。關鍵技術說明云服務平臺應用封裝工具Docker是一種容器技術,和Hypervisor(KVM/Xen這類)不同的是,Docker不會提供一整個操作系統,他能提供隔離的程序運行環境。對一個應用來說這已經夠了。 作為一個

45、開源的應用容器引擎,Docker讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 linux 機器上,與KVM這類超級底層虛擬化方案相比,Docker是一種輕量級虛擬化方案,他不需要對內核進行改變,他主要利用linux內核特性實現虛擬化,所有容器運行在同一個內核中。另外,docker還可以部署在KVM/XEN這類虛擬機中!容器與虛擬機對比如下圖。Docker使用客戶端-服務器(client-server)架構模式。Docker客戶端會與Docker守護進程進行通信。Docker守護 進程會處理復雜繁重的任務,例如建立、運行、發布你的Docker容器。Docker客

46、戶端和守護進程可以運行在同一個系統上,當然你也可以使用 Docker客戶端去連接一個遠程的Docker守護進程。Docker客戶端和守護進程之間通過socket或者RESTful API進行通信。Docker主要有三個重要模塊:鏡像、倉庫和容器鏡像(Image):Docker鏡像是一個只讀的模板。舉個例子,一個鏡像可以包含一個運行在Apache上的Web應用和其使用的ubuntu操作系統。鏡像是用來創建容器的。Docker提供了簡單的,你也可以下載別人已經創建好的鏡像。倉庫(Image) :Docker倉庫用來保存鏡像。其相當于一個代碼倉庫,同樣的,Docker倉庫也有公有和私有的概念。公有的

47、Docker倉庫名字是Docker Hub。也可以自己創建倉庫。容器(Container):一個Docker容器包含了某個應用運行所有的所需要的環境。每一個Docker容器都是從Docker鏡像創建 的。Docker容器可以運行、開始、停止、移動和刪除、保存為鏡像。每一個Docker容器都是獨立和安全的應用平臺。Docker內部采用Linux的命名空間機制實現隔離性,采用cgroup實現資源的劃分。我們主要用Docker來做分布式環境下的進程管理。Docker工作流如圖7所示,我們不僅把Docker應用到生產階段,也應用到開發階段,所以我們每天編輯Dockerfile,提升Docker Ima

48、ges,測試上線,發Docker鏡像,在我們內部私有Docker regis里面,再調到我們Docker集群生產環境里面,這和其他的Docker工作流沒有什么區別。應用的Docker化,可以推動應用與平臺分離、應用與服務分離、應用與數據分離,給應用的開發、生產和運維帶來很大的變化:1、Docker化給應用帶來了一種全新的輕量級虛擬化體驗。同樣是虛擬化,Docker相對虛擬機最大的優點是復用了宿主機的操作系統,使得Docker的運行和鏡像的存儲節省了大量存儲和計算資源,使得應用在性能和靈活性方面得到很大的改善。2、采用Docker封裝的方式進行應用交付,其封裝內容不僅包括程序也包括相關的參數、配

49、置和環境設置。這種帶環境的交付方式真正實現了開發運維環境的統一,避免了因為環境不同帶來相關組件和程序在開發、測試、生產環境中的反復部署。不僅降低由此帶來的額外工作量,同時也避免了環境差異可能造成的各種差錯。這種封裝使得應用的部署和運維簡單到只需關注地址分配和依賴關系,使得應用的自動化運維成為可能。3、Docker化交付縮短了應用開發、測試和上線的時間,原本以周和月為單位的程序開發、測試和生產環境的準備時間,現在可以以小時和天來計算。同時,我們輔以應用的灰度發布和在線升級技術,大大加快應用迭代速度,通過開發與運維的一體化能力,更好的支撐業務層面的敏捷化要求。4、Docker容器與集群管理技術相結

50、合不僅實現整個應用集群的資源高效利用,同時實現資源的按需分配和水平方向的自動和手動的擴展和收縮。例如:當業務進入峰值時期,我們可以設置策略,比如CPU或內存超過90%集群自動進行擴展30%。峰值過后,應用集群可以根據策略實現自動化縮容,把空閑的資源交還給資源池,使得其他的應用能夠有足夠的資源使用。這種自動化擴展和收縮對業務是透明的,只要資源池里的資源足夠業務永遠不可能出現性能瓶頸問題。5、通過應用與平臺分離、應用與服務分離,實現應用與平臺的合理分工。平臺可以聚焦和改善資源和服務的供給、安全及穩定問題,例如:自動化的實現數據庫、中間件等服務的部署、配置、開通和故障處置;自動化的實現應用部署、資源

51、分配、運行監控、故障恢復;動態監控業務負荷的變化自動實現應用的擴縮容等。分布式集群管理工具Kubernetes是Google推出的開源容器集群管理系統,基于Docker構建一個容器調度服務,為容器化的應用提供資源調度、部署運行、均衡容災、服務注冊、擴容縮容等功能,其本質上可看作是基于容器技術的mini-PaaS平臺,提取PaaS中的業務編排和管理模塊而形成的。部署容器的過程中最大化利用資源是十分重要的,Docker和Kubernetes組合就可以完美的實現這一點。Kubernetes以RESTFul形式開放接口,用戶可操作最基本的REST對象有三個:Pod、Service和Replicatio

52、nController。pod:是Kubernetes最基本的部署調度單元,可以包含container,邏輯上表示某種應用的一個實例。比如一個web站點應用由前端、后端及數據庫構建而成,這三個組件將運行在各自的容器中,那么我們可以創建包含三個container的pod。service:是pod的路由代理抽象,用于解決pod之間的服務發現問題。因為pod的運行狀態可動態變化(比如切換機器了、縮容過程中被終止了等),所以訪問端不能以寫死IP的方式去訪問該pod提供的服務。service的引入旨在保證pod的動態變化對訪問端透明,訪問端只需要知道service的地址,由service來提供代理。re

53、plicationController:是pod的復制抽象,用于解決pod的擴容縮容問題。通常,分布式應用為了性能或高可用性的考慮,需要復制多份資源,并且根據負載情況動態伸縮。通過replicationController,我們可以指定一個應用需要幾份復制,Kubernetes將為每份復制創建一個pod,并且保證實際運行pod數量總是與該復制數量相等(例如,當前某個pod宕機時,自動創建新的pod來替換)。Kubernetes的優點是可以通過定義一個Replicationcontroller來將同一個模塊部署到任意多個容器中,并且由Kubernetes自動管理。比如定義了一個Apache Po

54、d,通過Replicationcontroller設置啟動100個Replicas,系統就會在Pod創建后自動在所有可用的Minions中啟動100個Apache Container。并且輕松的是,當Container或者是所在的服務器不可用時,Kubernetes會自動通過啟動新的Container來保持100個總數不變,這樣管理一個大型系統變得輕松和簡單。Master運行三個組件:apiserver:作為kubernetes系統的入口,封裝了核心對象的增刪改查操作,以RESTFul接口方式提供給外部客戶和內部組件調用。它維護的REST對象將持久化到etcd(一個分布式強一致性的key/va

55、lue存儲)。scheduler:負責集群的資源調度,為新建的pod分配機器。這部分工作分出來變成一個組件,意味著可以很方便地替換成其他的調度器。controller-manager:負責執行各種控制器,目前有兩類:endpoint-controller:定期關聯service和pod(關聯信息由endpoint對象維護),保證service到pod的映射總是最新的。replication-controller:定期關聯replicationController和pod,保證replicationController定義的復制數量與實際運行pod的數量總是一致的。Slave(稱作minion)

56、運行兩個組件:kubelet:負責管控docker容器,如啟動/停止、監控運行狀態等。它會定期從etcd獲取分配到本機的pod,并根據pod信息啟動或停止相應的容器。同時,它也會接收apiserver的HTTP請求,匯報pod的運行狀態。proxy:負責為pod提供代理。它會定期從etcd獲取所有的service,并根據service信息創建代理。當某個客戶pod要訪問其他pod時,訪問請求會經過本機proxy做轉發。下面分別從它們的對象創建出發,通過時序圖來描述Kubernetes各個組件之間的交互及其工作流。Kubernetes和Docker可以運行在物理機上,也可以運行在虛擬機上。提供P

57、ass支撐,對項目的開發、測試、實施運行、運維都提供極大的便利,是目前最先進的技術,在國內外得到較多的采用,如google、阿里等。Kubernetes和Docker支持集群服務,自動負載均衡和提供高可靠的穩定服務。實例的注冊與發現服務發現可以讓一個服務實例發現其運行環境以及其它服務實例的信息。它通常采用分布式key-value的存儲方式,它也用來作為查詢配置細節信息。通過服務發現工具可以將Docker實例與運行的配置分離,使得用戶就可以在一個集群中使用同一鏡像運行多個實例以構建分布式應用。服務注冊與發現服務發現的基本思想是任何一個應用的實例能夠以編程的方式獲取當前環境的細節。這是為了讓新的實

58、例可以嵌入到現有的應用環境而不需要人工干預。服務發現工具通常是用全局可訪問的存儲信息注冊表來實現,它存儲了當前正在運行的實例或者服務的信息。雖然服務發現平臺的初衷是提供連接信息來連接不同組件的,但是它們更普遍地是用來存儲任何類型的配置信息。許多部署工具通過寫入它們的配置信息給發現工具來實現這個特性。如果容器配置了這些,它們就可以去查詢這些預配置信息,并根據這些信息來調整自身行為。服務發現的機制每一個服務發現工具都會提供一套API,使得組件可以用其來設置或搜索數據。正是如此,對于每一個組件,服務發現的地址要么硬編碼到程序或容器內部,要么在運行時以參數形式提供。通常來說,發現服務用鍵值對形式實現,

59、采用標準HTTP協議交互。服務發現門戶的工作方式是:當每一個服務啟動上線之后,他們通過發現工具來注冊自身信息。它記錄了一個相關組件若想使用某服務時的全部必要信息。例如,一個Docker啟動后會在注冊它運行的IP、端口等信息。當服務消費者(有依賴關系的節點)上線時,它能夠通過服務發現機制查詢到該Docker的配置信息,然后基于查到的信息與其需要的Docker進行交互。服務發現機制可以讓容器的部署、變更更加靈活,不受限于特定的配置信息,同時容器與容器之間交互時變得簡單,可以動態進行調整配置。全局配置存儲在Docker部署中,分布式鍵值對存儲其中一個功能是對集群成員的存儲和管理。配置存儲是為了追蹤D

60、ocker集群宿主機成員變更和管理工具的最好環境。這些信息是:宿主機的IP地址宿主機自身的鏈接信息跟調度信息有關的標簽或元數據信息集群中的角色(如果是采用了主從模式的集群)在正常情況下,使用一個服務發現平臺時,這些細節可能不是你需要考慮的。但是他們為管理工具提供了一個可以查詢或修改集群自身信息的地方。故障檢測機制故障檢測的實現方式也有很多種。需要考慮的是如果一個Docker出現故障,服務發現能否更新狀態指出該Docker不再提供服務。這種信息是至關重要的,關系到將應用或服務故障可能性降到最低。許多服務發現平臺允許賦值時帶一個可配置的超時時間。服務可以設置一個超時時間,并能定期去請求服務發現來重

溫馨提示

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

評論

0/150

提交評論