網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)方案建議書_第1頁
網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)方案建議書_第2頁
網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)方案建議書_第3頁
網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)方案建議書_第4頁
網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)方案建議書_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)方案建議書目 錄 TOC o 1-3 h z u HYPERLINK l _Toc41675108 1互聯(lián)網(wǎng)輿情系統(tǒng)概述 PAGEREF _Toc41675108 h 1 HYPERLINK l _Toc41675109 1.1什么是互聯(lián)網(wǎng)輿情 PAGEREF _Toc41675109 h 1 HYPERLINK l _Toc41675110 1.2什么是網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng) PAGEREF _Toc41675110 h 1 HYPERLINK l _Toc41675111 1.3網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)的特點 PAGEREF _Toc41675111 h 2 HYPERLINK l _T

2、oc41675112 2輿情監(jiān)測系統(tǒng)總體設(shè)計方案 PAGEREF _Toc41675112 h 3 HYPERLINK l _Toc41675113 2.1主要設(shè)計思想和設(shè)計目標、設(shè)計原則 PAGEREF _Toc41675113 h 3 HYPERLINK l _Toc41675114 2.2系統(tǒng)基本功能 PAGEREF _Toc41675114 h 4 HYPERLINK l _Toc41675115 2.3技術(shù)架構(gòu)介紹 PAGEREF _Toc41675115 h 5 HYPERLINK l _Toc41675116 2.4方案關(guān)鍵技術(shù) PAGEREF _Toc41675116 h 8

3、HYPERLINK l _Toc41675117 2.4.1全新的數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)立方(DataCube) PAGEREF _Toc41675117 h 8 HYPERLINK l _Toc41675118 2.4.2更加穩(wěn)定的云計算調(diào)度實現(xiàn):Jobkeeper PAGEREF _Toc41675118 h 10 HYPERLINK l _Toc41675119 2.5輿情監(jiān)測系統(tǒng)的特點 PAGEREF _Toc41675119 h 12 HYPERLINK l _Toc41675120 2.6系統(tǒng)可靠性與擴展性 PAGEREF _Toc41675120 h 13 HYPERLINK l _To

4、c41675121 2.6.1系統(tǒng)可靠性 PAGEREF _Toc41675121 h 13 HYPERLINK l _Toc41675122 2.6.2系統(tǒng)擴展性 PAGEREF _Toc41675122 h 16 HYPERLINK l _Toc41675123 2.7系統(tǒng)設(shè)計性能 PAGEREF _Toc41675123 h 16 HYPERLINK l _Toc41675124 2.7.1數(shù)據(jù)存儲能力 PAGEREF _Toc41675124 h 16 HYPERLINK l _Toc41675125 2.7.2查詢分析計算性能 PAGEREF _Toc41675125 h 17 HY

5、PERLINK l _Toc41675126 2.8數(shù)據(jù)存儲系統(tǒng) PAGEREF _Toc41675126 h 18 HYPERLINK l _Toc41675127 2.8.1海量數(shù)據(jù)分布式數(shù)據(jù)存儲架構(gòu) PAGEREF _Toc41675127 h 18 HYPERLINK l _Toc41675128 2.8.2適應(yīng)應(yīng)用需求的混合存儲策略 PAGEREF _Toc41675128 h 20 HYPERLINK l _Toc41675129 2.8.3HDFS數(shù)據(jù)存儲 PAGEREF _Toc41675129 h 21 HYPERLINK l _Toc41675130 2.8.4HBase數(shù)

6、據(jù)存儲 PAGEREF _Toc41675130 h 23 HYPERLINK l _Toc41675131 2.8.5Database數(shù)據(jù)存儲 PAGEREF _Toc41675131 h 25 HYPERLINK l _Toc41675132 2.8.6數(shù)據(jù)存儲的可靠性 PAGEREF _Toc41675132 h 27 HYPERLINK l _Toc41675133 2.8.7數(shù)據(jù)壓縮 PAGEREF _Toc41675133 h 28 HYPERLINK l _Toc41675134 2.9計算與存儲集群的可靠性與負載均衡設(shè)計 PAGEREF _Toc41675134 h 30 HY

7、PERLINK l _Toc41675135 2.9.1計算與存儲集群Master單點失效容錯處理 PAGEREF _Toc41675135 h 30 HYPERLINK l _Toc41675136 2.9.2計算與存儲集群的負載均衡處理 PAGEREF _Toc41675136 h 36 HYPERLINK l _Toc41675137 2.9.3HDFS的可靠性設(shè)計 PAGEREF _Toc41675137 h 39 HYPERLINK l _Toc41675138 2.9.4HBase可靠性設(shè)計 PAGEREF _Toc41675138 h 41 HYPERLINK l _Toc416

8、75139 2.9.5MapReduce計算可靠性設(shè)計 PAGEREF _Toc41675139 h 43 HYPERLINK l _Toc41675140 2.10查詢統(tǒng)計計算可靠性與負載均衡設(shè)計 PAGEREF _Toc41675140 h 45 HYPERLINK l _Toc41675141 2.10.1基于Zookeeper的單點失效和負載均衡設(shè)計 PAGEREF _Toc41675141 h 45 HYPERLINK l _Toc41675142 2.11系統(tǒng)安全性設(shè)計 PAGEREF _Toc41675142 h 47 HYPERLINK l _Toc41675143 2.11.

9、1安全保障體系框架 PAGEREF _Toc41675143 h 47 HYPERLINK l _Toc41675144 2.11.2云計算平臺的多級信任保護 PAGEREF _Toc41675144 h 49 HYPERLINK l _Toc41675145 2.11.3基于多級信任保護的訪問控制 PAGEREF _Toc41675145 h 53 HYPERLINK l _Toc41675146 2.11.4云平臺安全審計 PAGEREF _Toc41675146 h 55 HYPERLINK l _Toc41675147 2.11.5云計算綜合安全網(wǎng)關(guān) PAGEREF _Toc41675

10、147 h 59 互聯(lián)網(wǎng)輿情系統(tǒng)概述什么是互聯(lián)網(wǎng)輿情網(wǎng)絡(luò)輿情是通過互聯(lián)網(wǎng)傳播的公眾對現(xiàn)實生活中某些熱點、焦點問題所持的有較強影響力、傾向性的言論和觀點,主要通過郵箱、帖子、博客、網(wǎng)頁等實現(xiàn)并加以強化。當(dāng)今,信息傳播與意見交互空前迅捷,網(wǎng)絡(luò)輿論的表達訴求也日益多元。如果引導(dǎo)不善,負面的網(wǎng)絡(luò)輿情將對社會公共安全形成較大威脅。對相關(guān)政府部門來說,如何加強對網(wǎng)絡(luò)輿論的及時監(jiān)測、有效引導(dǎo),以及對網(wǎng)絡(luò)輿論危機的積極化解,對維護社會穩(wěn)定、促進國家發(fā)展具有重要的現(xiàn)實意義,也是創(chuàng)建和諧社會的應(yīng)有內(nèi)涵。什么是網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)“ HYPERLINK /view/2143779.htm t _blank 網(wǎng)絡(luò)輿情監(jiān)測

11、系統(tǒng)”是針對在一定的社會空間內(nèi),圍繞中介性社會事件的發(fā)生、發(fā)展和變化,民眾對社會管理者產(chǎn)生和持有的社會政治態(tài)度于網(wǎng)絡(luò)上表達出來意愿集合而進行的計算機監(jiān)測的系統(tǒng)統(tǒng)稱。 “網(wǎng)絡(luò)輿情”是較多群眾關(guān)于社會中各種現(xiàn)象、問題所表達的信念、態(tài)度、意見和情緒等等表現(xiàn)的總和。網(wǎng)絡(luò)輿情形成迅速,對社會影響巨大,加強互聯(lián)網(wǎng)信息監(jiān)管的同時,組織力量開展信息匯集整理和分析,對于及時應(yīng)對網(wǎng)絡(luò)突發(fā)的公共事件和全面掌握社情民意很有意義。 “ HYPERLINK /view/2143779.htm t _blank 網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)”具備的功能主要有:采集、分析、報警和跟蹤等,通過互聯(lián)網(wǎng)搜索引擎智能提取網(wǎng)絡(luò)內(nèi)容,再對提取的內(nèi)容

12、進行自動分類聚類、關(guān)鍵詞過濾、主題檢測、專題聚焦等信息處理過程,生成輿情統(tǒng)計分析報表,并提供追蹤和趨勢分析等信息服務(wù)。輿情監(jiān)測的范圍可覆蓋新聞評論、BBS、聊天室、博客、RSS、網(wǎng)上調(diào)查、網(wǎng)上訪談、QQ群、MSN及微博等各種網(wǎng)絡(luò)形式。網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)的特點自動實時監(jiān)測由于網(wǎng)絡(luò)傳播擴散的速度及快,因此要求系統(tǒng)能實時自動的實現(xiàn)對網(wǎng)絡(luò)內(nèi)容的監(jiān)測,以便能及時發(fā)現(xiàn)輿論危機并采取措施處置;面廣量大互聯(lián)網(wǎng)已是信息的海洋,因此要求輿情監(jiān)測系統(tǒng)能對互聯(lián)網(wǎng)上的海量信息進行提取,并能對提取到的海量數(shù)據(jù)進行分析處理,找到并提供有價值的輿情情報,為處理網(wǎng)絡(luò)突發(fā)的公共事件提供技術(shù)保障;分析復(fù)雜由于網(wǎng)絡(luò)語言的用詞不規(guī)范,以

13、及互聯(lián)網(wǎng)使用者有意無意的設(shè)法逃避對輿論的監(jiān)察,因此對輿情監(jiān)測系統(tǒng)的分析提出了較高的要求。輿情監(jiān)測系統(tǒng)總體設(shè)計方案主要設(shè)計思想和設(shè)計目標、設(shè)計原則設(shè)計思想:將海量數(shù)據(jù)分解到由大量X86架構(gòu)計算機構(gòu)成的低成本云計算平臺上進行實時處理,依靠分布式云計算平臺并行處理的優(yōu)勢,提升海量數(shù)據(jù)分析的實時性和性價比。設(shè)計目標:利用大量性價比高的計算機,建立云計算平臺,為海量數(shù)據(jù)提供廉價的存儲平臺和高效的處理平臺,并為輿情監(jiān)測系統(tǒng)提供統(tǒng)計和分析等多種業(yè)務(wù)支持。除了為各地市建設(shè)云計算平臺外,還在省中心建設(shè)備份中心管理查詢?nèi)?shù)據(jù),實現(xiàn)數(shù)據(jù)的分域管理。充分利用云計算平臺的廉價高效的數(shù)據(jù)處理能力、動態(tài)可伸縮性、高度容錯

14、性和響應(yīng)實時性,對現(xiàn)有的平臺和數(shù)據(jù)進行整合升級,達到較之傳統(tǒng)升級方案有一個數(shù)據(jù)量級的性能價格比提升。設(shè)計原則:(1)前瞻性技術(shù)與實際應(yīng)用環(huán)境相結(jié)合本項目是既是先進技術(shù)應(yīng)用示范項目,又是工程實施型項目。把握技術(shù)正確性和先進性是前提,但是前瞻性技術(shù)實施必須在云計算平臺的實際應(yīng)用環(huán)境和實際監(jiān)控流量的基礎(chǔ)上進行,必須結(jié)合云計算平臺的實際情況進行研究和開發(fā),只有與實際應(yīng)用環(huán)境相結(jié)合才有實際應(yīng)用價值。(2)學(xué)習(xí)借鑒國外先進技術(shù)與自主創(chuàng)新相結(jié)合在云計算平臺用于超大規(guī)模數(shù)據(jù)處理方面,國內(nèi)外幾乎是在一個起跑線上;但在關(guān)鍵技術(shù)研究及既往的技術(shù)積累方面,國外一些大公司有著明顯的優(yōu)勢。我們將積極學(xué)習(xí)借鑒國外先進的云計

15、算技術(shù),同時與自主創(chuàng)新相結(jié)合,形成功能強大、性能卓越的能夠滿足實際應(yīng)用環(huán)境需求的云計算數(shù)據(jù)處理和分析平臺。系統(tǒng)基本功能系統(tǒng)主要把通過郵箱、帖子、博客、網(wǎng)頁等中的內(nèi)容獲取到之后,對其中的海量輿情數(shù)據(jù)進行存儲和分析,從而把握整個網(wǎng)絡(luò)輿論的負面影響,并加以引導(dǎo)。系統(tǒng)的基本功能和性能如下:有效資源整合將地市目前用于存儲和處理的資源進行有效整合,在現(xiàn)有資源上搭建主流云存儲系統(tǒng),并提供對外服務(wù)超高性價比采用云計算模式,具有前所未有的高性價比,在線擴容、在線升級海量網(wǎng)絡(luò)數(shù)據(jù)匯總能夠?qū)B級海量網(wǎng)絡(luò)數(shù)據(jù)進行存儲分類。海量網(wǎng)絡(luò)數(shù)據(jù)高效處理對存儲下來的海量網(wǎng)絡(luò)數(shù)據(jù)進行并行處理支持多種輿情分析功能支持關(guān)鍵詞搜索、統(tǒng)

16、計、行為審計、行為軌跡分析、物品行為分析等功能高效實時檢索能力對經(jīng)過索引之后的海量數(shù)據(jù),能夠提供快速實時的查詢檢索功能技術(shù)架構(gòu)介紹云計算中心在架構(gòu)上可以按地域特征為各個地市創(chuàng)建一個獨立的云計算處理中心,各地市在處理自己的數(shù)據(jù)后除了保存在自己的平臺外,還將數(shù)據(jù)備份至省中心備份平臺,省中心可以在備份中心對全省數(shù)據(jù)進行檢索。省市采用統(tǒng)一的數(shù)據(jù)存儲結(jié)構(gòu)和查詢接口,省市之間通過專門的接口進行數(shù)據(jù)交互。這樣,可以實現(xiàn)各市管理各市的數(shù)據(jù)而省中心可以查詢?nèi)∷袛?shù)據(jù)。具體架構(gòu)如下圖所示:針對輿情監(jiān)測系統(tǒng)的海量數(shù)據(jù)處理特點,結(jié)合在大數(shù)據(jù)處理方面的先進技術(shù)和豐富經(jīng)驗,我們提出了基于云計算技術(shù)的輿情監(jiān)測系統(tǒng)解決方案

17、,以云存儲應(yīng)對互聯(lián)網(wǎng)的海量數(shù)據(jù)處理要求,以獨有的云處理技術(shù)和先進的分析算法對海量數(shù)據(jù)進行分析處理,實時迅速的提供輿情分析處理結(jié)果。圖表 輿情監(jiān)測系統(tǒng)整體方案 系統(tǒng)通過信息提取技術(shù)監(jiān)測互聯(lián)網(wǎng)郵箱、帖子、博客、網(wǎng)頁的內(nèi)容,并能自動跟蹤到最新的內(nèi)容,將數(shù)據(jù)采集后發(fā)往cProc云處理平臺。cProc是自主研發(fā)的云計算處理技術(shù)平臺,是一種處理海量數(shù)據(jù)的并行編程模型和計算框架的高效分布式云處理平臺。cProc通過把對數(shù)據(jù)集的大規(guī)模操作分發(fā)給網(wǎng)絡(luò)上的每個節(jié)點實現(xiàn)數(shù)據(jù)處理,每個節(jié)點會周期性的把完成的工作和狀態(tài)的更新報告回來。隨著節(jié)點的增多,cProc的處理能力將成倍數(shù)增長。cProc支持100GBps以上量級

18、的數(shù)據(jù)流實時索引,1s內(nèi)響應(yīng)客戶請求,秒級完成數(shù)據(jù)處理、查詢和分析工作。cProc的核心是DataCube和Jobkeeper。數(shù)據(jù)立方(DataCube)是一種用于數(shù)據(jù)分析與索引的技術(shù)架構(gòu)。通過數(shù)據(jù)立方對元數(shù)據(jù)進行分析之后,可以大大加快數(shù)據(jù)的查詢和檢索效率。JobKeeper是一個無管理節(jié)點的統(tǒng)一化任務(wù)處理系統(tǒng),是一個用于處理和生成大規(guī)模數(shù)據(jù)集(processing and generating large data sets)的云計算調(diào)度的實現(xiàn)。通過cProc處理平臺處理過的數(shù)據(jù)被存儲在服務(wù)器集群上,可以快速方便的被輿情監(jiān)測管理平臺查詢讀取,輿情監(jiān)測管理平臺還能友好的實現(xiàn)和操作人員的互動交

19、互,實現(xiàn)定制化的分析監(jiān)測。針對輿情監(jiān)測系統(tǒng)的特點,cProc在接收到采集到的海量互聯(lián)網(wǎng)信息內(nèi)容后,通過Jobkeeper把任務(wù)分解到云處理中心的各個節(jié)點上并保證云計算中心各節(jié)點的負載均衡,各節(jié)點通過數(shù)據(jù)立方并行對數(shù)據(jù)進行處理,節(jié)點可以對數(shù)據(jù)進行關(guān)鍵詞、統(tǒng)計、聯(lián)系人分析、人員關(guān)系分析、物品、行為等不同緯度的處理,創(chuàng)建索引、全文索引、倒序索引等并存儲到云計算中心的云存儲設(shè)備上,提供關(guān)鍵詞、統(tǒng)計、分析、人員之間分析等等應(yīng)用。通過數(shù)據(jù)立方對數(shù)據(jù)進行分析創(chuàng)建索引后,可以大大加快海量數(shù)據(jù)的檢索效率。方案關(guān)鍵技術(shù) 全新的數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)立方(DataCube) 數(shù)據(jù)立方以B+樹的結(jié)構(gòu)建立了字段的索引,每個B+

20、樹結(jié)構(gòu)的字段索引相當(dāng)于一個數(shù)據(jù)平面,這樣一個全局數(shù)據(jù)表與其多個重要字段的索引就組成了一個類似于立方體的數(shù)據(jù)組織結(jié)構(gòu),我們稱之為“數(shù)據(jù)立方(DataCube)”。如下圖所示: 數(shù)據(jù)立方(DataCube)是一種用于數(shù)據(jù)分析與索引的技術(shù)架構(gòu)。它是針對大數(shù)據(jù)(big data)的處理利器,可以對元數(shù)據(jù)進行任意多關(guān)鍵字實時索引。通過數(shù)據(jù)立方對元數(shù)據(jù)進行分析之后,可以大大加快數(shù)據(jù)的查詢和檢索效率。數(shù)據(jù)立方的原理:由一個或多個管理節(jié)點,一個或多個處理及存儲節(jié)點(數(shù)據(jù)節(jié)點)組成,系統(tǒng)在數(shù)據(jù)建立與查詢時,分布式建立與應(yīng)用數(shù)據(jù)立方索引結(jié)構(gòu),在數(shù)據(jù)建立及存儲時,對規(guī)范化的數(shù)據(jù)設(shè)定1個或多個關(guān)鍵字字段,將不同的關(guān)鍵

21、字字段分別建立索引,每張不同的索引生成一張獨立的B+樹結(jié)構(gòu),多個B+樹結(jié)構(gòu)垛疊在一起,與全局數(shù)據(jù)表形成一個完整的數(shù)據(jù)立方結(jié)構(gòu)。利用數(shù)據(jù)立方存儲索引結(jié)構(gòu),可方便快捷的在海量數(shù)據(jù)云處理系統(tǒng)中準確檢索定位數(shù)據(jù)。B+樹的插入僅在葉結(jié)點上進行。 每插入一個(關(guān)鍵碼-指針)索引項后都要判斷結(jié)點中的子樹棵數(shù)是否超出范圍。當(dāng)插入后結(jié)點中的子樹棵數(shù)大于 m 時, 需要將葉結(jié)點分裂為兩個結(jié)點。它們的雙親結(jié)點中應(yīng)同時包含這兩個結(jié)點的最大關(guān)鍵碼和結(jié)點地址。此后, 問題歸于在非葉結(jié)點中的插入了。在非葉結(jié)點中關(guān)鍵碼的插入與葉結(jié)點的插入類似, 非葉結(jié)點中的子樹棵數(shù)的上限為m, 超出這個范圍也要進行結(jié)點分裂。在做根結(jié)點分裂時

22、, 因為沒有雙親結(jié)點, 就必須創(chuàng)建新的雙親結(jié)點, 作為樹的新根。這樣樹的高度就增加一層了。當(dāng)有新的記錄到來時,我們要將新的數(shù)據(jù)記錄對應(yīng)的一條索引記錄插入到所有的字段索引中,這時要采取一定的寫入策略。當(dāng)新的記錄積累到n1條或經(jīng)過一定時間t1時,對于存儲在MemCache中的字段索引,可以將這些數(shù)據(jù)記錄對應(yīng)的索引記錄一次性批量寫入;當(dāng)新的記錄積累到n2條或經(jīng)過一定時間t2時,可以將這些數(shù)據(jù)記錄對應(yīng)的索引記錄一次性批量寫入HDFS(固態(tài)磁盤)上的索引文件。對B+樹的查找類似于二分查找,對于m階,葉子節(jié)點中記錄個數(shù)為n的B+樹來說,其查找的時間復(fù)雜度為O(log m+(n+1)/2)。因此對于值匹配和

23、范圍查找來說,有很快的速度。此外,由于對值按照大小順序進行了指針鏈接,因此m階B+樹還可以進行對值進行順序查找。 我們對重要字段建立索引,存儲在HDFS(固態(tài)磁盤)上。將最近常用的字段索引加載到MemCache中,同時刪除最不常用的字段索引以節(jié)省空間。詳細來說,對于每次查詢,系統(tǒng)統(tǒng)計每個字段索引被調(diào)用的次數(shù),對于被調(diào)用次數(shù)最多的那些字段索引就被加載到MemCache中,而在MemCache中被調(diào)用次數(shù)最少的某些字段將被刪除。數(shù)據(jù)立方是凌駕于數(shù)據(jù)存儲層和數(shù)據(jù)庫系統(tǒng)之上的,通過數(shù)據(jù)立方解析后,可以大大增加數(shù)據(jù)查詢和檢索等業(yè)務(wù),可以讓系統(tǒng)平臺具備數(shù)據(jù)實時入庫、實時查詢、查詢結(jié)果實時傳輸?shù)葍?yōu)勢。更加穩(wěn)

24、定的云計算調(diào)度實現(xiàn):JobkeeperJobKeeper是一個無管理節(jié)點的統(tǒng)一化任務(wù)處理系統(tǒng),是一個用于處理和生成大規(guī)模數(shù)據(jù)集(processing and generating large data sets)的相關(guān)的實現(xiàn)。用戶定義一個Split函數(shù)來處理一個大的數(shù)據(jù)集,對該數(shù)據(jù)集進行拆分(split),再定義一個Proc函數(shù)將所有這些數(shù)據(jù)分片(split)進行分析處理,最后定義一個Combine函數(shù)進行對所有分片結(jié)果的聚合。很多現(xiàn)實世界中的任務(wù)都可用這個模型來表達。該編程模型的使用相當(dāng)靈活,開發(fā)者可以省略其中任何一個模塊,甚至只取其中一個模塊進行分布式計算也可以,并且對于Split、Pro

25、c和Combine函數(shù),開發(fā)者可以不受任何限制的進行開發(fā),不用考慮任何分布式計算的因素。JobKeeper應(yīng)用程序最基本的組成部分包括Split、Proc和Combine,以及一個創(chuàng)建Job的執(zhí)行程序,是一組任務(wù)處理節(jié)點做成的族群,每個處理節(jié)點提供一定的公用內(nèi)存單元(提供序列化的服務(wù),基于HDFS或者其他分布式存儲系統(tǒng)),各個節(jié)點通過共享的內(nèi)存單元來保證處理任務(wù)的可靠性和一致性。JobKeeper對外提供一組RPC和一組API接口的服務(wù),用戶只要根據(jù)對應(yīng)的任務(wù)模式設(shè)計任務(wù),新建任務(wù)并提交任務(wù)給JobKeeper框架即可。JobKeeper中的各個處理節(jié)點會根據(jù)自身的負載情況通過GET的方式從共

26、享的內(nèi)存單元中獲取任務(wù)信息并執(zhí)行。Job通過提供的對外接口(RPC的服務(wù)或接口jar包)添加到JobKeeper之中,在添加過程中,JobKeeper驗證整個Job的準確性,若Job信息有誤那么Job提交失敗,于是提交任務(wù)的程序會獲得一個返回值“false”,上傳程序檢測錯誤情況,驗證無誤后重新添加。如果成功則返回“true”。如果Job被正確的提交至JobKeeper框架之中,那么處理節(jié)點們將會根據(jù)自身情況主動從JobKeeper中獲取將要執(zhí)行的任務(wù)列表并執(zhí)行。在執(zhí)行的過程中實時的更新Job的狀態(tài),如果Job一切執(zhí)行成功那么最終的索引結(jié)果文件將會被上傳至HDFS上,同時任務(wù)結(jié)束,反之重復(fù)執(zhí)行

27、多次,仍失敗的話那么便將錯誤日志輸出,人工排查。每臺處理節(jié)點實時監(jiān)控本機的任務(wù)運行情況,遇見任務(wù)運行失敗的情況會重新調(diào)度,如果本機的使用性能值小于系統(tǒng)啟動時設(shè)置的閾值時,處理節(jié)點會主動的去公用的內(nèi)存單元去獲取新的任務(wù),此時會添加一個全局的系統(tǒng)鎖,防止在同一時刻同一任務(wù)被分配多次至不同的處理節(jié)點上。當(dāng)任務(wù)獲取完畢,鎖資源被釋放,任務(wù)在處理節(jié)點上開始運行,實時更新任務(wù)的狀態(tài),當(dāng)任務(wù)完成后,任務(wù)信息會輸出到日志中去,然后刪除共享內(nèi)存單元中的相關(guān)信息。對比傳統(tǒng)MapReduce模型,JobKeeper適用于任何分布式文件系統(tǒng),或者沒用任何文件共享的各個獨立服務(wù)器之上,解決了MapReduce依賴于HD

28、FS的問題。并且JobKeeper去除了中心節(jié)點,不會存在中心節(jié)點服務(wù)down掉以后導(dǎo)致整個任務(wù)失敗的情況。輿情監(jiān)測系統(tǒng)的特點速度更快輿情監(jiān)測系統(tǒng)采用云計算核心技術(shù),充分發(fā)揮在云計算方面的優(yōu)勢,在分析處理、查詢方面將速度更快。高可靠性基于對云計算可靠性深厚的研究積累,徹底解決了當(dāng)前分布式計算平臺易出現(xiàn)的單點故障問題。任何一個節(jié)點出現(xiàn)故障,系統(tǒng)將自動屏蔽,而且不會出現(xiàn)丟失數(shù)據(jù)的現(xiàn)象,提高了系統(tǒng)的穩(wěn)定性。可伸縮性:在不停機的情況下,增加節(jié)點,平臺的處理能力自動增加;減少節(jié)點,平臺的處理能力自動縮減。這樣,可以做到與云計算平臺的無縫對接,根據(jù)計算和存儲任務(wù)動態(tài)地申請或釋放資源,最大限度地提高資源利用

29、率,并能輕松的把現(xiàn)有的數(shù)據(jù)遷移到云計算平臺上來,即使在升級時也無須停機,徹底解決升級給用戶帶來的困擾。高性價比:采用X86架構(gòu)廉價計算機構(gòu)建云計算平臺,用軟件容錯替代硬件容錯,大大節(jié)省成本。特別適合因數(shù)據(jù)量增長導(dǎo)致需要對系統(tǒng)升級的用戶,通過把數(shù)據(jù)遷入云計算平臺存儲處理,在目標性能和可靠性條件下,可比傳統(tǒng)的小型機加商用數(shù)據(jù)庫方案節(jié)省10倍左右的成本,花費更低,性能更高。而且云計算平臺具有可伸縮和高可靠性,以后可以在不停機的情況下通過增加節(jié)點來應(yīng)對數(shù)據(jù)量的增長,升級更簡單更便宜,徹底擺脫因系統(tǒng)升級給用戶帶來的困擾。系統(tǒng)可靠性與擴展性系統(tǒng)可靠性HDFS可靠性概述:HDFS包括元數(shù)據(jù)節(jié)點(Nameno

30、de)和數(shù)據(jù)節(jié)點(Datanode),Namenode是一個中心服務(wù)器,負責(zé)管理文件系統(tǒng)的Namespace和客戶端對文件的訪問。,Datanode在集群中一般是一個節(jié)點一個,Datanode是文件系統(tǒng)中真正存儲數(shù)據(jù)的地方。DataNode所在機器掛了怎么辦? HDFS(Hadoop Distributed File System)默認的最基本的存儲單位是64M的數(shù)據(jù)塊(block)。 一個文件對應(yīng)的所有BLOCK全部按照一定的部署策略存在于DataNode上,文件的所有block為了容錯都會被復(fù)制(一般為3份),每個文件的block大小和replication因子都是可配置的。Datanod

31、e每3分鐘向Namenode發(fā)送心跳,如果10分鐘datanode沒有向Namenode發(fā)送心跳,則Namenode認為該Datanode已經(jīng)dead,Namenode將取出該Datanode上對應(yīng)的block,對其進行復(fù)制。 Namenode掛了怎么辦?Namenode主控服務(wù)器,為了避免主節(jié)點失效而影響整個系統(tǒng)正常工作,我們采用基于HDFS的改進方案Avatar,同時可開啟兩個Namenode,主Namenode和secondNamenode,實際工作的只有主Namenode。主Namenode將所有關(guān)于文件和目錄的操作記錄都會寫入日志,并定時序列化到本地做鏡像,并且保存到本地的NFS服務(wù)

32、器,同時secondNamenode讀取主Namenode所在NFS服務(wù)器的日志并對鏡像日志做CheckPoint。故障后,secondNamenode升級為Namenode,通過鏡像數(shù)據(jù)和文件日志迅速恢復(fù)系統(tǒng)。數(shù)據(jù)服務(wù)器可通過分布式協(xié)同服務(wù)機制得知關(guān)于主控服務(wù)器的更迭情況,然后向新的主控注冊并繼續(xù)發(fā)送心跳。 HBase可靠性概述:HBase系統(tǒng)由HBase集群和ZooKeeper集群組成。HBase的可靠性由其自身的ZooKeeper機制保證。HBase包括Hregion服務(wù)器群和Master主服務(wù)器構(gòu)成。Master負責(zé)管理Hregion。物理上,一張表是被拆成多個塊,一張完整的表格是保存

33、在多個Hregion上面的。master掛掉怎么辦?由于master只維護表和region的元數(shù)據(jù),因此master下線短時間內(nèi)對整個hbase集群沒有影響,master保存的信息全是可以冗余信息(都可以從系統(tǒng)其它地方收集到或者計算出來),因此,啟動HBase時可以再啟動一個備用的master,實際工作的只有主master,當(dāng)主master所在節(jié)點宕機,會自動切換到備用master所在節(jié)點。Hregionserver掛掉怎么辦?物理上,表格分為多個Region一張表是被拆成多個塊,一張完整的表格是保存在多個Hregionserver上面的。并且分布在多臺Hregionserver中,物理上所有

34、數(shù)據(jù)存儲在Hadoop的HDFS上,由一些子表服務(wù)器來提供數(shù)據(jù)服務(wù),提供服務(wù)時,子表先查HMemcache,如果沒有,再查HDFS上的HStore,由HDFS來保證數(shù)據(jù)的可靠性。如果丟失Region的數(shù)據(jù)所在節(jié)點的datanode宕機,HDFS會自動映射到其他節(jié)點,從而保證Region數(shù)據(jù)的可靠性。ZooKeeper掛掉怎么辦?Zookeeper分為2個部分:服務(wù)器端和客戶端。啟動Zookeeper服務(wù)器集群環(huán)境后,多個Zookeeper服務(wù)器在工作前會選舉出一個Leader,在接下來的工作中這個被選舉出來的Leader死了,而剩下的Zookeeper服務(wù)器會知道這個Leader死掉了,在活著

35、的Zookeeper集群中會繼續(xù)選出一個Leader,選舉出leader的目的是為了可以在分布式的環(huán)境中保證數(shù)據(jù)的一致性。MapReduce可靠性概述:MapReduce整體上可以分為這么幾條執(zhí)行的線索,JobTracker與JobTracker是一個master服務(wù),軟件啟動之后JobTracker接收job,負責(zé)調(diào)度job的每一個子任務(wù)task運行于TaskTracker上,并監(jiān)控它們,如果發(fā)現(xiàn)有失敗的task就重新運行它。一般情況應(yīng)該把JobTracker部署在單獨的機器上。TaskTracker是運行于多個節(jié)點上的slaver服務(wù)。TaskTracker主動與JobTracker通信,

36、接收作業(yè),并負責(zé)直接執(zhí)行每一個任務(wù)。TaskTracker都需要運行在HDFS的DataNode上,JobTracker0掛掉怎么辦?在系統(tǒng)啟動時同時啟動備份JobTracker1節(jié)點,當(dāng)JobTracker0節(jié)點宕機時,ZooKeeper會在其上啟動JobTracker進程替代JobTracker0節(jié)點,虛擬IP會指向此節(jié)點,TaskTracker會注冊到此節(jié)點上,未完成的MapReduce作業(yè)會被ZooKeeper調(diào)度到此節(jié)點上重新執(zhí)行。TaskTracker掛掉怎么辦?JobTracker是一個master服務(wù),軟件啟動之后JobTracker接收job,負責(zé)調(diào)度job的每一個子任務(wù)ta

37、sk運行于TaskTracker上,并監(jiān)控它們,如果發(fā)現(xiàn)有失敗的task就重新運行它。并且將其負責(zé)的task分配給其他TaskTracker上。系統(tǒng)擴展性已有的Hadoop集群規(guī)模Hadoop是一個相當(dāng)有彈性和擴展性的平臺,它既可以在成千上萬的機器上跑,也可以在很小規(guī)模上運行。目前最大的Hadoop集群有四千臺機器。 Hadoop擴展優(yōu)勢:與其它分布式系統(tǒng)相比,使用Hadoop的好處在于它的水平的可擴展性,在少量結(jié)點上,用Hadoop處理有限的數(shù)據(jù)時,不能展示Hadoop的性能,因為開始Hadoop程序相關(guān)的代價比較高,其它并行/分布程序方式,比如MPI (Message Passing In

38、terface)可能在2臺,4臺或許10多臺計算機上有更好的性能,盡管在少量機器上協(xié)同工作在這種系統(tǒng)上也許會取得更好的性能,但這種為性能所要付出的努力是非線性的增長。用其它分布式框架所寫的程序在從十臺機器的級別到成百上千臺機器需要大量的重構(gòu)工作,這也許要程序重寫幾次,并且其它框的基礎(chǔ)元素會限制應(yīng)用的規(guī)模大小。但是特別設(shè)計的Hadoop有著水平的可擴展性,一個Hadoop程序?qū)懲旰?,?0個結(jié)點上運行,如果遷徙到更大的集群上運行,幾乎不需要做什么工作, Hadoop平臺會管理數(shù)據(jù)和硬件資源并提供與可用資源成比例的可靠性能。Hadoop擴展方法:HBase集群具備線性擴展功能,只需要將配置好的re

39、gion server節(jié)點加入到集群中。MapReduce集群具備線性擴展功能,只需要將配置好的TaskTracker節(jié)點加入到集群中,JobTracker節(jié)點就會將Map或Reduce任務(wù)分配給此節(jié)點處理。HDFS具備線性擴展功能,只需要將配置好的DataNode節(jié)點加入到集群中,并且在集群空閑時執(zhí)行balancer工具以平衡集群中DataNode的數(shù)據(jù)塊負載。系統(tǒng)設(shè)計性能數(shù)據(jù)存儲能力原始交管數(shù)據(jù)存儲采用云存儲平臺,分布式文件系統(tǒng)存儲服務(wù)。性能指標:存儲量指標單系統(tǒng)應(yīng)支持PB級存儲容量。吞吐量指標吞吐量是指在沒有幀丟失的情況下,設(shè)備能夠接受的最大速率。吞吐量根據(jù)應(yīng)用系統(tǒng)讀寫方式和應(yīng)用系統(tǒng)讀取

40、存儲內(nèi)容大小分成四個指標。分布式文件存儲系統(tǒng)按照32個節(jié)點并發(fā)500個用戶計算,單節(jié)點8塊2T大小的硬盤情況下,每個節(jié)點指標具體內(nèi)容如下表所示:表8分布式文件存儲系統(tǒng)吞吐量指標編號讀寫方式存儲內(nèi)容大小平均吞吐量指標(MBps)1100%讀1GB602100%寫1GB303100%讀100KB304100%寫100KB15圖表 SEQ 圖表 * ARABIC 1 分布式文件存儲系統(tǒng)吞吐量指標系統(tǒng)響應(yīng)時間指標千兆網(wǎng)絡(luò)環(huán)境下,局域網(wǎng)客戶端從分布式文件存儲系統(tǒng)中讀取4096字節(jié)存儲內(nèi)容的響應(yīng)時間應(yīng)不高于50ms。交管數(shù)據(jù)存儲采用HDFS性能指標,如下:數(shù)據(jù)讀取性能:4080MB/s節(jié)點;數(shù)據(jù)規(guī)模:10

41、PB規(guī)模;數(shù)據(jù)負載均衡時間:可依據(jù)流量配置而確定;集群重新啟動時間(10PB規(guī)模):分鐘級別;查詢分析計算性能對任何實時分析操作的反應(yīng)時間小于10秒;查詢、統(tǒng)計操作的首次響應(yīng)時延小于1秒;并發(fā)操作終端數(shù)大于30個 ;基于交管數(shù)據(jù)的統(tǒng)計,記錄5000萬條以內(nèi),30秒可以統(tǒng)計完成。數(shù)據(jù)存儲系統(tǒng) 海量數(shù)據(jù)分布式數(shù)據(jù)存儲架構(gòu) 云計算是一種超級的計算模式,可以把網(wǎng)絡(luò)中的計算機虛擬為一個資源池,將所有的計算資源集中起來,并用特定軟件實現(xiàn)自動管理,使得各種計算資源可以協(xié)同工作,這就使得處理數(shù)量巨大的數(shù)據(jù)成為了可能。 基于云計算的海量數(shù)據(jù)存儲模型,是依據(jù)云計算的核心計算模式MapReduce,并依托實現(xiàn)了Ma

42、pReduce 計算模式的開源分布式并行編程框架Hadoop,將存儲模型和云計算結(jié)合在一起,實現(xiàn)海量數(shù)據(jù)的分布式存儲。 MapReduce 是云計算的核心計算模式,是一種分布式運算技術(shù),也是簡化的分布式編程模式,用于解決問題的程序開發(fā)模型,也是開發(fā)人員拆解問題的方法。MapReduce 模式的主要思想是將自動分割要執(zhí)行的問題,拆解成Map(映射)和Reduce(化簡)的方式。在數(shù)據(jù)被分割后通過Map 函數(shù)的程序?qū)?shù)據(jù)映射成不同的區(qū)塊,分配給計算機集群處理達到分布式運算的效果,在通過Reduce 函數(shù)的程序?qū)⒔Y(jié)果匯整,從而輸出開發(fā)者需要的結(jié)果。 MapReduce 借鑒了函數(shù)式程序設(shè)計語言的設(shè)計

43、思想,其軟件實現(xiàn)是指定一個Map 函數(shù),把鍵值對(key/value)映射成新的鍵值對(key/value),形成一系列中間結(jié)果形式的key/value 對,然后把它們傳給Reduce(規(guī)約)函數(shù),把具有相同中間形式key 的value 合并在一起。Map 和Reduce 函數(shù)具有一定的關(guān)聯(lián)性。MapReduce流程如圖所示:圖表 SEQ 圖表 * ARABIC 2 分布式計算流程 Hadoop 是一個實現(xiàn)了MapReduce 計算模型的開源分布式并行編程框架,程序員可以借助Hadoop 編寫程序,將所編寫的程序運行于計算機集群上,從而實現(xiàn)對海量數(shù)據(jù)的處理。此外,Hadoop 還提供一個分布式

44、文件系統(tǒng)(HDFS)及分布式數(shù)據(jù)庫(HBase)用來將數(shù)據(jù)存儲或部署到各個計算節(jié)點上。借助Hadoop 框架及云計算核心技術(shù)MapReduce 來實現(xiàn)數(shù)據(jù)的計算和存儲,并且將HDFS 分布式文件系統(tǒng)和HBase 分布式數(shù)據(jù)庫很好的融入到云計算框架中,從而實現(xiàn)云計算的分布式、并行計算和存儲,并且得以實現(xiàn)很好的處理大規(guī)模數(shù)據(jù)的能力。綜合MapReduce和HDFS來看Hadoop的結(jié)構(gòu):圖表 SEQ 圖表 * ARABIC 3 Hadoop結(jié)構(gòu)在Hadoop的系統(tǒng)中,會有一臺Master,主要負責(zé)Namenode的工作以及JobTracker的工作。JobTracker的主要職責(zé)就是啟動、跟蹤和調(diào)

45、度各個Slave的任務(wù)執(zhí)行。還會有多臺Slave,每一臺Slave通常具有DataNode的功能并負責(zé)TaskTracker的工作。TaskTracker根據(jù)應(yīng)用要求來結(jié)合本地數(shù)據(jù)執(zhí)行Map任務(wù)以及Reduce任務(wù)。 主服務(wù)控制集群相當(dāng)于控制器部分,主要負責(zé)接收應(yīng)用請求并且根據(jù)請求類型進行應(yīng)答。存儲節(jié)點集群相當(dāng)于存儲器部分,是由龐大的磁盤陣列系統(tǒng)或是具有海量數(shù)據(jù)存儲能力的集群系統(tǒng),主要功能是處理數(shù)據(jù)資源的存取。HDFS 和Hbase 用來將數(shù)據(jù)存儲或部署到各個計算節(jié)點上。Hadoop 中有一個作為主控的Master,用于調(diào)度和管理其它的計算機(將其稱之為TaskTracker),Master

46、可以運行于集群中任一臺計算機上。TaskTracker 負責(zé)執(zhí)行任務(wù),必須運行于DataNode上,DataNode 既是數(shù)據(jù)存儲節(jié)點,也是計算節(jié)點。Master將Map 任務(wù)和Reduce 任務(wù)分發(fā)給空閑的TaskTracker,讓這些任務(wù)并行運行,并負責(zé)監(jiān)控任務(wù)的運行情況。如果其中任意一個TaskTracker 出故障了,Master 會將其負責(zé)的任務(wù)轉(zhuǎn)交給另一個空閑的TaskTracker 重新運行。用戶不直接通過Hadoop 架構(gòu)讀取及HDFS 和Hbase存取數(shù)據(jù),從而避免了大量讀取操作可能造成的系統(tǒng)擁塞。用戶從Hadoop 架構(gòu)傳給主服務(wù)控制集群的信息后,直接和存儲節(jié)點進行交互進行

47、讀取操作。適應(yīng)應(yīng)用需求的混合存儲策略 混合存儲策略可以簡述為HDFS分布式文件系統(tǒng)用來存儲海量數(shù)據(jù),可以根據(jù)存儲的數(shù)據(jù)類型建立索引,HBase也可用來存儲海量數(shù)據(jù),其由查詢條件建立索引表, Database對小型數(shù)據(jù)的存儲處理。 分布式文件系統(tǒng)HDFS是一個開源云計算平臺Hadoop框架的底層實現(xiàn)部分,適合運行在通用硬件上的分布式文件系統(tǒng),具有高容錯性,能提高吞吐量的數(shù)據(jù)訪問,非常適合于大規(guī)模數(shù)據(jù)集上的應(yīng)用。MapReduce在HDFS的基礎(chǔ)上實現(xiàn)的并行框架,為用戶提供容易使用的并行編程模式,MapReduce計算包括兩個階段,Map(映射)階段和Reduce(規(guī)范)階段。首先,Map函數(shù)把一

48、組(Key,Value)輸入,映射為一組中間結(jié)果 (Key,Value),然后通過Reduce函數(shù)把具有相同Key值的中間結(jié)果,進行合并化簡。MapReduce將計算作業(yè)分成許多小的單元,同時數(shù)據(jù)也會被HDFS分為多個Block,并且每個數(shù)據(jù)塊被復(fù)制多份,保證系統(tǒng)的可靠性,HDFS按照一定的規(guī)則將數(shù)據(jù)塊放置在集群中的不同機器上,以便MapReduce在數(shù)據(jù)宿主機器上進行計算。 HBase類似Bigtable的分布式數(shù)據(jù)庫,是一個稀疏的,長期存儲的,多維的,排序的映射表.這張表的索引是行關(guān)鍵字,列關(guān)鍵字和時間戳。所有數(shù)據(jù)庫的更新都是一個時間戳標記,每個更新都是一個新的版本,而HBase會保留一定

49、數(shù)量的版本,這個值是可以設(shè)定的??蛻舳丝梢垣@取距離某個時間最近的版本,或者一次獲取所有版本。HDFS數(shù)據(jù)存儲 分布式文件系統(tǒng)HDFS被設(shè)計為將海量文件存儲在一個大集群的多臺計算機上。HDFS將每一個文件以分塊序列的形式進行存儲,一個文件的所有分塊除去最后一個分塊外都是等大小的。為了實現(xiàn)容錯將文件分塊進行自動復(fù)制。文件分塊的塊大小和復(fù)制比例都是可以按照單個文件進行配置的。HDFS中的所有文件都是“只寫一次”并且嚴格限定在任何時候只有一個寫文件操作者。 HDFS是Hadoop框架的分布式并行文件系統(tǒng),是分布式計算的存儲基石。負責(zé)數(shù)據(jù)分布式存儲及數(shù)據(jù)的管理,并能提供高吞吐量的數(shù)據(jù)訪問。HDFS的基本

50、特征如下:(l)對于整個集群有單一的命名空間。(2)文件會被分割成多個文件塊,每個文件塊被分配存儲到數(shù)據(jù)節(jié)點上,而且根據(jù)配置會有復(fù)制的文件塊來保證數(shù)據(jù)安全性。(3)數(shù)據(jù)一致性。適合一次寫入多次讀取的模型,客戶端在成功創(chuàng)建文件之后,才能看到文件的存在。(4)Hadoop,包括HDFS,非常適合在廉價機器上的分布式存儲和分布式處理。它是容錯的、可伸縮的、非常易于擴展。并且,以簡單性和適用性著稱的MapReduce是Hadoop不可缺少的重要組成部分。(5)HDFS的默認配置適合于大多數(shù)安裝的應(yīng)用。通常情況下,只有在一個非常大規(guī)模的集群上才需要修改默認配置。(6)支持shell命令行風(fēng)格的HDFS目

51、錄交互。(7)HDFS是用java編寫的,可廣泛運行在多種軟硬件平臺上。(8)HDFS經(jīng)常性地實現(xiàn)新的特性和改進。(9)Namenode和DataNode都內(nèi)建了Web服務(wù)器,可以方便地查看集群的狀態(tài)。 HDFS的體系框架是Master/Slave結(jié)構(gòu),一個典型的HDFS通常由單個Namenode和多個DataNode組成。Namenode是一個中心服務(wù)器,負責(zé)文件系統(tǒng)的名字空間的操作,比如打開、關(guān)閉、重命名文件或目錄,它負責(zé)維護文件路徑到數(shù)據(jù)塊的映射,數(shù)據(jù)塊到DataNode的映射,以及監(jiān)控DataNode的心跳和維護數(shù)據(jù)塊副本的個數(shù)。集群中的DataNode一般是一個節(jié)點一個,負責(zé)管理它所

52、在節(jié)點上的存儲。HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲數(shù)據(jù)。從內(nèi)部看,一個文件其實被分成一個或多個數(shù)據(jù)塊,這些塊存儲在一組DataNode上。DataNode負責(zé)處理文件系統(tǒng)客戶端的讀寫請求。在Namenode的統(tǒng)一調(diào)度下進行數(shù)據(jù)塊的創(chuàng)建、刪除和復(fù)制。 所有對目錄樹的更新和文件名和數(shù)據(jù)塊關(guān)系的修改,都必須能夠持久化,文件在HDFS中存儲圖如圖:圖表 SEQ 圖表 * ARABIC 4 Hdfs結(jié)構(gòu)HDFS涉及到Namenode、DataNode和客戶端們之間的交互。本質(zhì)上,客戶端與Namenode通訊是通過獲取或者修改文件的元數(shù)據(jù),與 DataNode進行實際的I/O

53、操作。如圖13所示,在HDFS中有三個重要的角色:Namenode、DataNode和Client,其中Client就是需要獲取分布式文件系統(tǒng)文件的應(yīng)用程序。這里通過三個操作來說明他們之間的交互關(guān)系:(l)文件寫入。首先Client向Namenode發(fā)起文件寫入的請求,Namenode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。Client將文件劃分為多個Block,根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€DataNode塊中。(2)文件讀取。Client向Namenode發(fā)起文件讀取的請求,Namenode返回文件存儲的DataNode的信息

54、。Client根據(jù)返回的信息讀取DataNode上的文件信息。(3)文件Block復(fù)制。Namenode發(fā)現(xiàn)部分文件的Block不符合最小復(fù)制數(shù)或者部分DataNode失效,通知DataNode相互復(fù)制Block。DataNode收到通知后開始直接相互復(fù)制。圖表 SEQ 圖表 * ARABIC 5 HDFS Namenode、DataNode和客戶端們之間的交互HBase數(shù)據(jù)存儲 HBase Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng),利用HBase技術(shù)可在廉價PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲集群。其目的是處理龐大的表,可以用普通的計算機處

55、理10億行數(shù)據(jù),并且有數(shù)百萬列元素組成的數(shù)據(jù)表這張表的索引是行關(guān)鍵字。Hbase可以直接使用本地的文件系統(tǒng)和Hadoop作為數(shù)據(jù)存儲方式,不過為了提高數(shù)據(jù)的可靠性和系統(tǒng)的健壯性,發(fā)揮Hbase處理大數(shù)據(jù)量等功能,需要使用Hadoop作為文件系統(tǒng)。1、數(shù)據(jù)模式 HBase類似Bigtable的分布式數(shù)據(jù)庫,是一個稀疏的,長期存儲的,多維的,排序的映射表.這張表的索引是行關(guān)鍵字,列關(guān)鍵字和時間戳。每個值是一個不解釋的字符數(shù)組,數(shù)據(jù)都是字符串,沒類型。用戶在表格中存儲數(shù)據(jù),每一行都是一個可排序的主鍵和任意多的列。由于是稀疏存儲的,所以同一張表里面的每一行數(shù)據(jù)都可以有截然不同的列。列名字的格式是:,都

56、是由字符串組成,每一張表有一個family集合,這個集合是固定不變的,相當(dāng)于表的結(jié)構(gòu),只能通過改變表的結(jié)構(gòu)來改變。但是lable值相對于每一行來說都是可以改變的。HBase把同一個family里面的數(shù)據(jù)存儲在同一個目錄底下,而HBase的寫操作時鎖行的,每一個都是一個原子元素都可以加鎖。所有數(shù)據(jù)庫的更新都是一個時間戳標記,每個更新都是一個新的版本,而HBase會保留一定數(shù)量的版本,這個值是可以設(shè)定的??蛻舳丝梢垣@取距離某個時間最近的版本,或者一次獲取所有版本。2、 概念視圖一個表可以想象成一個大的映射關(guān)系,通過主鍵,或者主鍵+時間戳,可以定位一行數(shù)據(jù),由于是稀疏數(shù)據(jù),所以某些列可以是空白的,下

57、面就是數(shù)據(jù)的概念視圖: Row KeyTime StampColumnColumn anchorColumn mimen.wwwt9anchor:CNNt8anchor:my.look.caCNN.comt6.t5.text/htmlt3.3、物理視圖從概念視圖看每個表格是有很多行組成,但是在物理存儲上,它是按照列來保存的。Row KeyTime StampColumn contentsn.wwwt6.t5.t3.Row KeyTime StampColumn anchorn.wwwt9anchor:CNNt8anchor:my.look.caCNN.comRow KeyTime StampC

58、olumn minen.wwwt6text/html在概念視圖上面有些列是空白的,這樣的列實際上并不會被存儲,當(dāng)請求這些空白的單元格的時候,會返回null值。如果在查詢的時候不提供時間戳,那么會返回距離現(xiàn)在最近的那個版本數(shù)據(jù)。因為在存儲的時候,數(shù)據(jù)會按照時間戳排序Database數(shù)據(jù)存儲數(shù)據(jù)庫(Database)是存儲在一起的相關(guān)數(shù)據(jù)的集合,這些數(shù)據(jù)是結(jié)構(gòu)化的,無有害的或不必要的冗余,并為多種應(yīng)用服務(wù);數(shù)據(jù)的存儲獨立于使用它的程序;對數(shù)據(jù)庫插入新數(shù)據(jù),修改和檢索原有數(shù)據(jù)均能按一種公用的和可控制的方式進行。當(dāng)某個系統(tǒng)中存在結(jié)構(gòu)上完全分開的若干個數(shù)據(jù)庫時,則該系統(tǒng)包含一個“數(shù)據(jù)庫集合”。數(shù)據(jù)庫中的

59、數(shù)據(jù)有兩種性質(zhì):1、數(shù)據(jù)整體性 數(shù)據(jù)庫是一個單位或是一個應(yīng)用領(lǐng)域的通用數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)庫中的數(shù)據(jù)是從全局觀點出發(fā)建立的,他按一定的數(shù)據(jù)模型進行組織、描述和存儲。其結(jié)構(gòu)基于數(shù)據(jù)間的自然聯(lián)系,從而可提供一切必要的存取路徑,且數(shù)據(jù)不再針對某一應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化特征。 2、數(shù)據(jù)共享性 數(shù)據(jù)庫中的數(shù)據(jù)是為眾多用戶所共享其信息而建立的,已經(jīng)擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用數(shù)據(jù)庫中的數(shù)據(jù);多個用戶可以同時共享數(shù)據(jù)庫中的數(shù)據(jù)資源,即不同的用戶可以同時存取數(shù)據(jù)庫中的同一個數(shù)據(jù)。數(shù)據(jù)共享性不僅滿足了各用戶對信息內(nèi)容的要求,同時也滿足了各用戶之間信息通信的要求。數(shù)據(jù)庫

60、的基本結(jié)構(gòu)分為三層: 1.物理數(shù)據(jù)層它是數(shù)據(jù)庫的最內(nèi)層,是物理存貯設(shè)備上實際存儲的數(shù)據(jù)的集合。這些數(shù)據(jù)是原始數(shù)據(jù),是用戶加工的對象,由內(nèi)部模式描述的指令操作處理的位串、字符和字組成。 2.概念數(shù)據(jù)層它是數(shù)據(jù)庫的中間一層,是數(shù)據(jù)庫的整體邏輯表示。指出了每個數(shù)據(jù)的邏輯定義及數(shù)據(jù)間的邏輯聯(lián)系,是存貯記錄的集合。它所涉及的是數(shù)據(jù)庫所有對象的邏輯關(guān)系,而不是它們的物理情況,是數(shù)據(jù)庫管理員概念下的數(shù)據(jù)庫。 3.邏輯數(shù)據(jù)層它是用戶所看到和使用的數(shù)據(jù)庫,表示了一個或一些特定用戶使用的數(shù)據(jù)集合,即邏輯記錄的集合。 數(shù)據(jù)庫不同層次之間的聯(lián)系是通過映射進行轉(zhuǎn)換的。主要特點: (1)實現(xiàn)數(shù)據(jù)共享。 數(shù)據(jù)共享包含所有用

溫馨提示

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

評論

0/150

提交評論