一種基于分布式的海量日志采集系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于分布式的海量日志采集系統(tǒng),該系統(tǒng)包括數(shù)據(jù)源層、分布式緩存層、分布式存儲(chǔ)與計(jì)算層、業(yè)務(wù)處理層、可視化展示層和統(tǒng)一調(diào)度與管理模塊。通過本發(fā)明能夠有效應(yīng)對日志采集與高速入庫的問題,同時(shí),使用分布式存儲(chǔ)與搜索引擎技術(shù),加快查找與檢索的速度,從而實(shí)現(xiàn)了高速、準(zhǔn)確、可靠地對海量日志進(jìn)行采集與分析。
【專利說明】一種基于分布式的海量日志采集系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種基于分布式的海量日志采集系統(tǒng)。
【背景技術(shù)】
[0002]隨著云計(jì)算、移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)的崛起與發(fā)展,大數(shù)據(jù)的時(shí)代已經(jīng)來臨。對大數(shù)據(jù)業(yè)務(wù)系統(tǒng)進(jìn)行日志采集與分析,是評(píng)價(jià)節(jié)點(diǎn)主機(jī)健康度、對系統(tǒng)出現(xiàn)的問題進(jìn)行分析、展示各類報(bào)表的依據(jù)所在。
[0003]開源的海量日志解決方案有很多,例如FaceBook的Scribe、Apache的Chukwa> LinkedIn的Kafka、Cloudera的Flume等,也有綜合的解決方案,例如Kibana+Elasticsearch+LogStash、LogAnalyzer+MySQL+RSyslog> Splunk0 這些角軍決方案,他們都具備三個(gè)基本組件,分別為agent、collector和store,其中agent封裝數(shù)據(jù)源,將數(shù)據(jù)源中的數(shù)據(jù)發(fā)送給collector,collector接收多個(gè)agent的數(shù)據(jù),并進(jìn)行匯總后導(dǎo)入后端的store中,store為中央存儲(chǔ)系統(tǒng),應(yīng)該具有可擴(kuò)展性和可靠性,應(yīng)該支持當(dāng)前非常流行的HDFS。agent必須安裝部署在進(jìn)行日志采集的主機(jī)上面,還要配置相關(guān)參數(shù)以確定collector所在主機(jī)的位置。但是該方法中服務(wù)器端的安裝部署比較麻煩,大部分都需要使用源代碼進(jìn)行編譯安裝,而且,開源的軟件基本是國外的軟件,由于中國大陸對國外大部分網(wǎng)站的封鎖以及國外某些網(wǎng)站對中國的封鎖,因此,有可能下載依賴軟件的時(shí)候,會(huì)出現(xiàn)拒絕連接的問題。
[0004]Storm是一個(gè)實(shí)時(shí)流計(jì)算框架,可以以近實(shí)時(shí)的速度對輸入源進(jìn)行處理,然后輸出。Storm具有如下的特性:
[0005]易于擴(kuò)展。Storm使用Zookeeper進(jìn)行集群協(xié)調(diào),這樣可以充分保證大型集群的良好運(yùn)行。
[0006]每條消息的處理都可以得到保證。
[0007]Storm集群管理簡易。
[0008]Storm的容錯(cuò)機(jī)能很好。一旦Topology遞交,Storm會(huì)一直運(yùn)行它直到Topology被廢除或者被關(guān)閉。而在執(zhí)行中出現(xiàn)錯(cuò)誤時(shí),也會(huì)由Storm重新分配任務(wù)。
[0009]—般使用Java,但是Storm中的Topology可以用任何語言設(shè)計(jì)。
[0010]但是Storm的Topology的業(yè)務(wù)邏輯,需要自己寫代碼實(shí)現(xiàn),一定要在Spout中指定數(shù)據(jù)來源。
【發(fā)明內(nèi)容】
[0011]本發(fā)明為了解決現(xiàn)有技術(shù)中的不足和缺陷,提出一種基于分布式的海量日志采集系統(tǒng),可以有效應(yīng)對日志采集與高速入庫的問題,同時(shí),使用分布式存儲(chǔ)與搜索引擎技術(shù),加快查找與檢索的速度,從而實(shí)現(xiàn)了高速、準(zhǔn)確、可靠地對海量日志進(jìn)行采集與分析。
[0012]一種基于分布式的海量日志采集系統(tǒng),其通過在目標(biāo)主機(jī)上安裝Agent進(jìn)程,對目標(biāo)主機(jī)的文本、應(yīng)用程序、數(shù)據(jù)庫等日志信息進(jìn)行有選擇地定向推送到服務(wù)器集群的統(tǒng)一訪問接口,服務(wù)器端采用了分布式緩存與實(shí)時(shí)流處理框架技術(shù);該系統(tǒng)包括數(shù)據(jù)源層、分布式緩存層、分布式存儲(chǔ)與計(jì)算層、業(yè)務(wù)處理層、可視化展示層和統(tǒng)一調(diào)度與管理模塊。
[0013]數(shù)據(jù)源層,由數(shù)據(jù)采集組件(生產(chǎn)者)模塊對各個(gè)節(jié)點(diǎn)上面的文本、應(yīng)用程序、數(shù)據(jù)庫等進(jìn)行采集,推送到分布式緩存層。
[0014]分布式緩存層,由LVS對各個(gè)節(jié)點(diǎn)的消息隊(duì)列組件進(jìn)行負(fù)載均衡,提供一個(gè)統(tǒng)一的接口來接收并寫入數(shù)據(jù)源節(jié)點(diǎn)推送過來的數(shù)據(jù),等待分布式存儲(chǔ)與計(jì)算層的數(shù)據(jù)采集組件(消費(fèi)者)來讀取。
[0015]分布式存儲(chǔ)與計(jì)算層,提供存儲(chǔ)與計(jì)算的功能,包括數(shù)據(jù)采集組件(消費(fèi)者)模塊、離線計(jì)算模塊、實(shí)時(shí)計(jì)算模塊、分布式存儲(chǔ)和搜索引擎;其中,數(shù)據(jù)采集組件(消費(fèi)者)模塊負(fù)責(zé)對分布式緩存層進(jìn)行數(shù)據(jù)讀??;離線計(jì)算模塊由Hadoop及其生態(tài)系統(tǒng)組成;實(shí)時(shí)計(jì)算模塊由Storm組成。
[0016]業(yè)務(wù)處理層,提供統(tǒng)計(jì)分析和數(shù)據(jù)挖掘的功能與服務(wù),由上層進(jìn)行調(diào)用。
[0017]可視化展示層,提供普通查詢、全文檢索、報(bào)表展示、導(dǎo)入導(dǎo)出等功能。
[0018]統(tǒng)一調(diào)度與管理模塊,對上述5層進(jìn)行統(tǒng)一的調(diào)度與管理,基于工作流,自動(dòng)化處理。
[0019]本發(fā)明技術(shù)方案帶來的有益效果:
[0020]1、由于使用了 Storm實(shí)時(shí)流處理框架技術(shù),因此,可以近實(shí)時(shí)地對Kafka分布式緩存中的消息進(jìn)行處理并分類。
[0021]2、推送日志與讀取日志是異步進(jìn)行的,可以不用感知相互的存在,只需要往分布式消息隊(duì)列Kafka里面寫入或者讀取即可。
[0022]3、每分鐘可以處理100萬條記錄,可以有效應(yīng)對大數(shù)據(jù)數(shù)據(jù)采集的問題,產(chǎn)生經(jīng)濟(jì)效益。
[0023]4、系統(tǒng)具有高可靠性,保證每條記錄被處理。
【專利附圖】
【附圖說明】
[0024]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0025]圖1是本發(fā)明中分布式數(shù)據(jù)采集系統(tǒng)的系統(tǒng)架構(gòu)圖;
[0026]圖2是本發(fā)明中數(shù)據(jù)采集子系統(tǒng)的組成架構(gòu)圖。
【具體實(shí)施方式】
[0027]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0028]本文提出了一種基于分布式的海量日志采集系統(tǒng),通過在目標(biāo)主機(jī)上安裝Agent進(jìn)程,對目標(biāo)主機(jī)的文本、應(yīng)用程序、數(shù)據(jù)庫等日志信息進(jìn)行有選擇地定向推送到服務(wù)器集群的統(tǒng)一訪問接口,服務(wù)器端采用了分布式緩存與實(shí)時(shí)流處理框架技術(shù)。通過本發(fā)明解決了現(xiàn)有技術(shù)中使用傳統(tǒng)的日志采集技術(shù),對海量日志進(jìn)行采集的過程中會(huì)出現(xiàn)上傳速度超過采集處理入庫速度,導(dǎo)致系統(tǒng)假死或者日志記錄丟失;使用開源的分布式日志采集組件,需要在各個(gè)節(jié)點(diǎn)安裝與配置Agent,某些Agent需要依賴很多第三方軟件,由于網(wǎng)絡(luò)等原因,無法安裝完成的缺點(diǎn)或不足,能夠有效應(yīng)對日志采集與高速入庫的問題,同時(shí),使用分布式存儲(chǔ)與搜索引擎技術(shù),加快查找與檢索的速度,從而實(shí)現(xiàn)了高速、準(zhǔn)確、可靠地對海量日志進(jìn)行采集與分析。
[0029]如圖1所示為一種基于分布式的海量日志采集系統(tǒng)的系統(tǒng)架構(gòu)圖。
[0030]本系統(tǒng)包括數(shù)據(jù)源層、分布式緩存層、分布式存儲(chǔ)與計(jì)算層、業(yè)務(wù)處理層、可視化展示層和統(tǒng)一調(diào)度與管理模塊。
[0031]數(shù)據(jù)源層,由數(shù)據(jù)采集組件(生產(chǎn)者)模塊對各個(gè)節(jié)點(diǎn)上面的文本、應(yīng)用程序、數(shù)據(jù)庫等進(jìn)行采集,推送到分布式緩存層。
[0032]分布式緩存層,由LVS對各個(gè)節(jié)點(diǎn)的消息隊(duì)列組件進(jìn)行負(fù)載均衡,提供一個(gè)統(tǒng)一的接口來接收并寫入數(shù)據(jù)源節(jié)點(diǎn)推送過來的數(shù)據(jù),等待分布式存儲(chǔ)與計(jì)算層的數(shù)據(jù)采集組件(消費(fèi)者)來讀取。
[0033]分布式存儲(chǔ)與計(jì)算層,提供存儲(chǔ)與計(jì)算的功能,包括數(shù)據(jù)采集組件(消費(fèi)者)模塊、離線計(jì)算模塊、實(shí)時(shí)計(jì)算模塊、分布式存儲(chǔ)和搜索引擎。其中,數(shù)據(jù)采集組件(消費(fèi)者)模塊負(fù)責(zé)對分布式緩存層進(jìn)行數(shù)據(jù)讀??;離線計(jì)算模塊由Hadoop及其生態(tài)系統(tǒng)組成;實(shí)時(shí)計(jì)算模塊由Storm組成。
[0034]業(yè)務(wù)處理層,提供統(tǒng)計(jì)分析和數(shù)據(jù)挖掘的功能與服務(wù),由上層進(jìn)行調(diào)用。
[0035]可視化展示層,提供普通查詢、全文檢索、報(bào)表展示、導(dǎo)入導(dǎo)出等功能。
[0036]統(tǒng)一調(diào)度與管理模塊,對上述5層進(jìn)行統(tǒng)一的調(diào)度與管理,基于工作流,自動(dòng)化處理。
[0037]數(shù)據(jù)采集子系統(tǒng)是分布式日志采集系統(tǒng)的核心組成部分,包括數(shù)據(jù)源層、分布式緩存層、數(shù)據(jù)處理層和持久化層,其可以獨(dú)立出來成為一個(gè)新的系統(tǒng)。其中,數(shù)據(jù)源層即分布式日志采集系統(tǒng)的數(shù)據(jù)源層;分布式緩存層即分布式日志采集系統(tǒng)的分布式緩存層;數(shù)據(jù)處理層即分布式日志采集系統(tǒng)的分布式存儲(chǔ)與計(jì)算層的實(shí)時(shí)計(jì)算模塊和統(tǒng)一調(diào)度與管理模塊;持久化層即分布式日志采集系統(tǒng)的分布式存儲(chǔ)與計(jì)算層的分布式存儲(chǔ)模塊。
[0038]數(shù)據(jù)采集子系統(tǒng)的組成,如圖2所示。
[0039]數(shù)據(jù)采集子系統(tǒng)的核心,主要包括位于數(shù)據(jù)源層的數(shù)據(jù)采集組件(生產(chǎn)者)模塊、分布式緩存層與數(shù)據(jù)處理層。
[0040]數(shù)據(jù)源層,包括很多的數(shù)據(jù)節(jié)點(diǎn)主機(jī),每個(gè)主機(jī)上都安裝了數(shù)據(jù)采集組件(生產(chǎn)者)模塊,會(huì)啟動(dòng)Agent進(jìn)程來負(fù)責(zé)接收服務(wù)端的采集指令,把本節(jié)點(diǎn)的文本、應(yīng)用程序、數(shù)據(jù)庫等數(shù)據(jù)推送到服務(wù)器集群中的統(tǒng)一訪問接口中。
[0041]分布式緩存層,位于服務(wù)器集群里面,其主要由LVS負(fù)責(zé)把數(shù)據(jù)自動(dòng)轉(zhuǎn)發(fā)到Kafka集群中的某臺(tái)節(jié)點(diǎn)主機(jī)進(jìn)行寫入,負(fù)責(zé)對外提供統(tǒng)一訪問接口和分布式緩存服務(wù)。其中統(tǒng)一訪問接口包括統(tǒng)一的域名/主機(jī)名和端口。
[0042]數(shù)據(jù)處理層,主要由Storm構(gòu)成,其中Topology由I個(gè)Spout和若干個(gè)Bolt構(gòu)成。KafkaReaderSpout負(fù)責(zé)讀取Kafka集群里面的數(shù)據(jù),然后把數(shù)據(jù)傳輸給ExecutorBolt,ExecutorBolt根據(jù)業(yè)務(wù)邏輯及日志的類型,往下傳送數(shù)據(jù)到HbaseWriterBolt、HdfsffriterBolt 或者 SolrffriterBolt 中進(jìn)行持久化存儲(chǔ)。其中,HbaseWriterBolt 負(fù)責(zé)HBase的持久化存儲(chǔ),HdfsffriterBolt負(fù)責(zé)HDFS的持久化存儲(chǔ)、SolrffriterBolt負(fù)責(zé)Solr-Cloud的持久化存儲(chǔ)。
[0043]持久化層,主要由HBase、HDFS和Solr-Cloud組成。HBase主要是鍵值對存儲(chǔ),存儲(chǔ)原始日志、分類處理后的日志;HDFS主要存儲(chǔ)原始日志;S0lr-Cl0ud主要對HBase存儲(chǔ)的日志進(jìn)行索引,加快檢索速度,可以全文檢索。
[0044]數(shù)據(jù)采集子系統(tǒng)的工作流程:
[0045]首先,數(shù)據(jù)源的所有節(jié)點(diǎn)主機(jī)的Agent進(jìn)程會(huì)自動(dòng)推送本節(jié)點(diǎn)的文本、應(yīng)用程序、數(shù)據(jù)庫等數(shù)據(jù)到服務(wù)器集群中的統(tǒng)一訪問接口中。
[0046]接著,統(tǒng)一訪問接口接收到數(shù)據(jù),由LVS自動(dòng)轉(zhuǎn)發(fā)到某個(gè)Kafka節(jié)點(diǎn)中并寫入數(shù)據(jù),等待被讀取。
[0047]最后,由實(shí)時(shí)計(jì)算模塊Storm中的Topology進(jìn)行業(yè)務(wù)處理,其中Topology由I個(gè)Spout和若干個(gè)Bo11構(gòu)成。KafkaReaderSpout負(fù)責(zé)讀取Kafka集群中的數(shù)據(jù),然后把數(shù)據(jù)傳輸給ExecutorBolt, ExecutorBolt根據(jù)業(yè)務(wù)邏輯及日志的類型,往下傳送數(shù)據(jù)到 HbaseWriterBolt、HdfsffriterBolt 或者 SolrWriterBolt 中進(jìn)行持久化存儲(chǔ)。其中,HbaseWriterBolt負(fù)責(zé)HBase的持久化存儲(chǔ),HdfsffriterBolt負(fù)責(zé)HDFS的持久化存儲(chǔ)、SolrffriterBolt 負(fù)責(zé) Solr-Cloud 的持久化存儲(chǔ)。
[0048]以上對本發(fā)明實(shí)施例所提供的一種基于分布式的海量日志采集系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種基于分布式的海量日志采集系統(tǒng),其特征在于,該系統(tǒng)通過在目標(biāo)主機(jī)上安裝Agent進(jìn)程,對目標(biāo)主機(jī)的文本、應(yīng)用程序、數(shù)據(jù)庫等日志信息進(jìn)行有選擇地定向推送到服務(wù)器集群的統(tǒng)一訪問接口,服務(wù)器端采用了分布式緩存與實(shí)時(shí)流處理框架技術(shù);該系統(tǒng)包括數(shù)據(jù)源層、分布式緩存層、分布式存儲(chǔ)與計(jì)算層、業(yè)務(wù)處理層、可視化展示層和統(tǒng)一調(diào)度與管理模塊; 數(shù)據(jù)源層,由數(shù)據(jù)采集組件(生產(chǎn)者)模塊對各個(gè)節(jié)點(diǎn)上面的文本、應(yīng)用程序、數(shù)據(jù)庫等進(jìn)行采集,推送到分布式緩存層; 分布式緩存層,由LVS對各個(gè)節(jié)點(diǎn)的消息隊(duì)列組件進(jìn)行負(fù)載均衡,提供一個(gè)統(tǒng)一的接口來接收并寫入數(shù)據(jù)源節(jié)點(diǎn)推送過來的數(shù)據(jù),等待分布式存儲(chǔ)與計(jì)算層的數(shù)據(jù)采集組件(消費(fèi)者)來讀??; 分布式存儲(chǔ)與計(jì)算層,提供存儲(chǔ)與計(jì)算的功能,包括數(shù)據(jù)采集組件(消費(fèi)者)模塊、離線計(jì)算模塊、實(shí)時(shí)計(jì)算模塊、分布式存儲(chǔ)和搜索引擎;其中,數(shù)據(jù)采集組件(消費(fèi)者)模塊負(fù)責(zé)對分布式緩存層進(jìn)行數(shù)據(jù)讀取;離線計(jì)算模塊由Hadoop及其生態(tài)系統(tǒng)組成;實(shí)時(shí)計(jì)算模塊由Storm組成; 業(yè)務(wù)處理層,提供統(tǒng)計(jì)分析和數(shù)據(jù)挖掘的功能與服務(wù),由上層進(jìn)行調(diào)用; 可視化展示層,提供普通查詢、全文檢索、報(bào)表展示、導(dǎo)入導(dǎo)出等功能; 統(tǒng)一調(diào)度與管理模塊,對上述5層進(jìn)行統(tǒng)一的調(diào)度與管理,基于工作流,自動(dòng)化處理。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,該系統(tǒng)的數(shù)據(jù)源層、分布式緩存層、分布式存儲(chǔ)與計(jì)算層的實(shí)時(shí)計(jì)算模塊和分布式存儲(chǔ)模塊、統(tǒng)一調(diào)度與管理模塊是分布式日志采集系統(tǒng)的核心部分,即數(shù)據(jù)采集子系統(tǒng),其包括數(shù)據(jù)源層、分布式緩存層、數(shù)據(jù)處理層和持久化層,其可以獨(dú)立出來成為一個(gè)新的系統(tǒng);其中,數(shù)據(jù)源層即分布式日志采集系統(tǒng)的數(shù)據(jù)源層;分布式緩存層即分布式日志采集系統(tǒng)的分布式緩存層;數(shù)據(jù)處理層即分布式日志采集系統(tǒng)的分布式存儲(chǔ)與計(jì)算層的實(shí)時(shí)計(jì)算模塊和統(tǒng)一調(diào)度與管理模塊;持久化層即分布式日志采集系統(tǒng)的分布式存儲(chǔ)與計(jì)算層的分布式存儲(chǔ)模塊。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,數(shù)據(jù)源層,包括很多的數(shù)據(jù)節(jié)點(diǎn)主機(jī),每個(gè)主機(jī)上都安裝了數(shù)據(jù)采集組件(生產(chǎn)者)模塊,會(huì)啟動(dòng)Agent進(jìn)程來負(fù)責(zé)接收服務(wù)端的采集指令,把本節(jié)點(diǎn)的文本、應(yīng)用程序、數(shù)據(jù)庫等數(shù)據(jù)推送到服務(wù)器集群中的統(tǒng)一訪問接口中; 分布式緩存層,位于服務(wù)器集群里面,其主要由LVS負(fù)責(zé)把數(shù)據(jù)自動(dòng)轉(zhuǎn)發(fā)到Kafka集群中的某臺(tái)節(jié)點(diǎn)主機(jī)進(jìn)行寫入,負(fù)責(zé)對外提供統(tǒng)一訪問接口和分布式緩存服務(wù);其中統(tǒng)一訪問接口包括統(tǒng)一的域名/主機(jī)名和端口; 數(shù)據(jù)處理層,由Storm構(gòu)成,其中Topology由I個(gè)Spout和若干個(gè)Bolt構(gòu)成。KafkaReaderSpout負(fù)責(zé)讀取Kafka集群里面的數(shù)據(jù),然后把數(shù)據(jù)傳輸給ExecutorBolt,ExecutorBolt根據(jù)業(yè)務(wù)邏輯及日志的類型,往下傳送數(shù)據(jù)到HbaseWriterBolt、HdfsffriterBolt 或者 SolrWriterBolt 中進(jìn)行持久化存儲(chǔ);其中,HbaseWriterBolt 負(fù)責(zé)HBase的持久化存儲(chǔ),HdfsffriterBolt負(fù)責(zé)HDFS的持久化存儲(chǔ)、SolrffriterBolt負(fù)責(zé)Solr-Cloud的持久化存儲(chǔ); 持久化層,由HBase、HDFS和Solr-Cloud組成。HBase主要是鍵值對存儲(chǔ),存儲(chǔ)原始日志、分類處理后的日志;HDFS主要存儲(chǔ)原始日志;Solr-Cloud主要對HBase存儲(chǔ)的日志進(jìn)行索引,加快檢索速度,可以全文檢索。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,數(shù)據(jù)采集子系統(tǒng)的核心,包括位于數(shù)據(jù)源層的數(shù)據(jù)采集組件(生產(chǎn)者)模塊、分布式緩存層與數(shù)據(jù)處理層。
5.根據(jù)權(quán)利要求3或4所述的系統(tǒng),其特征在于,數(shù)據(jù)采集子系統(tǒng)的工作流程為:首先,數(shù)據(jù)源的所有節(jié)點(diǎn)主機(jī)的Agent進(jìn)程會(huì)自動(dòng)推送本節(jié)點(diǎn)的文本、應(yīng)用程序、數(shù)據(jù)庫等數(shù)據(jù)到服務(wù)器集群中的統(tǒng)一訪問接口中; 接著,統(tǒng)一訪問接口接收到數(shù)據(jù),由LVS自動(dòng)轉(zhuǎn)發(fā)到某個(gè)Kafka節(jié)點(diǎn)中并寫入數(shù)據(jù),等待被讀取; 最后,由實(shí)時(shí)計(jì)算模塊Storm中的Topology進(jìn)行業(yè)務(wù)處理,其中Topology由I個(gè)Spout和若干個(gè)Bolt構(gòu)成;KafkaReaderSpout負(fù)責(zé)讀取Kafka集群中的數(shù)據(jù),然后把數(shù)據(jù)傳輸給ExecutorBolt, ExecutorBolt根據(jù)業(yè)務(wù)邏輯及日志的類型,往下傳送數(shù)據(jù)到 HbaseWriterBolt、HdfsffriterBolt 或者 SolrWriterBolt 中進(jìn)行持久化存儲(chǔ);其中,HbaseWriterBolt負(fù)責(zé)HBase的持久化存儲(chǔ),HdfsffriterBolt負(fù)責(zé)HDFS的持久化存儲(chǔ)、SolrffriterBolt 負(fù)責(zé) Solr-Cloud 的持久化存儲(chǔ)。
【文檔編號(hào)】G06F11/34GK104036025SQ201410299857
【公開日】2014年9月10日 申請日期:2014年6月27日 優(yōu)先權(quán)日:2014年6月27日
【發(fā)明者】楊育斌, 柯宗貴, 趙必廈 申請人:藍(lán)盾信息安全技術(shù)有限公司