午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

基于Hadoop的海量日志數(shù)據(jù)處理方法與流程

文檔序號:12063851閱讀:582來源:國知局
基于Hadoop的海量日志數(shù)據(jù)處理方法與流程

本發(fā)明涉及計算機數(shù)據(jù)處理領(lǐng)域,具體涉及一種基于Hadoop的海量日志數(shù)據(jù)處理方法。



背景技術(shù):

現(xiàn)有的日志處理方式一般是采用EMC、IBM和ORACLE存儲設(shè)備和數(shù)據(jù)庫存儲。當(dāng)數(shù)據(jù)量到達日志系統(tǒng)處理的上限時,廠家推出新的軟硬件供用戶升級。而隨著用戶的增多日志總量在成指數(shù)上升,通過傳統(tǒng)的改善硬件指標(biāo)的方式來解決,從根本上不能解決問題。

現(xiàn)有的日志處理方式是集中式的,無法支持各個應(yīng)用系統(tǒng)中的日志收集,另外,現(xiàn)有的日志處理方式無法對日志支持跨節(jié)點查詢。

同時,日志數(shù)據(jù)不僅數(shù)據(jù)量龐大,且大多數(shù)是非結(jié)構(gòu)化的數(shù)據(jù),傳統(tǒng)的關(guān)系型數(shù)據(jù)庫很難通過添加信息條目的方式記錄這種行為,以往的基礎(chǔ)架構(gòu)逐漸顯得力不從心。



技術(shù)實現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題:針對現(xiàn)有的日志處理機制在對海量日志數(shù)據(jù)情況下所顯露出來的缺點,提供一種能夠從各個應(yīng)用系統(tǒng)中收集日志數(shù)據(jù),集中起來用于查詢、統(tǒng)計和分析,提高應(yīng)用系統(tǒng)日志的處理速度和效率的基于Hadoop的海量日志數(shù)據(jù)處理方法。

為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:

一種基于Hadoop的海量日志數(shù)據(jù)處理方法,實施步驟包括:

1)建立Hadoop分布式集群平臺,所述Hadoop分布式集群平臺安裝有分布式文件系統(tǒng)HDFS、非關(guān)系型數(shù)據(jù)庫Redis、Mysql數(shù)據(jù)庫、HBase分布式數(shù)據(jù)庫、Kafka分布式消息緩存系統(tǒng)、REST接口以及Strom流式計算框架;將待進行海量日志處理的目標(biāo)應(yīng)用系統(tǒng)服務(wù)器和所述Hadoop分布式集群平臺相連,并預(yù)先在目標(biāo)應(yīng)用系統(tǒng)服務(wù)器中部署用于定時上傳服務(wù)器軟件訪問日志文件的SHELL腳本;

2)針對目標(biāo)應(yīng)用系統(tǒng)服務(wù)器中的服務(wù)器軟件訪問日志、業(yè)務(wù)日志兩種日志,通過SHELL腳本定時上傳推送服務(wù)器軟件訪問日志文件給Hadoop分布式集群平臺,所述Hadoop分布式集群平臺將服務(wù)器軟件訪問日志文件存儲到分布式文件系統(tǒng)HDFS;所述Hadoop分布式集群平臺通過REST接口接收目標(biāo)應(yīng)用系統(tǒng)服務(wù)器的業(yè)務(wù)日志,并將業(yè)務(wù)日志數(shù)據(jù)推送到Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中進行緩存;

3)針對存儲到分布式文件系統(tǒng)HDFS中的服務(wù)器軟件訪問日志文件,Hadoop分布式集群平臺首先對服務(wù)器軟件訪問日志文件數(shù)據(jù)進行清洗轉(zhuǎn)換,對清洗轉(zhuǎn)換后的服務(wù)器軟件訪問日志文件數(shù)據(jù)進行統(tǒng)計分析得到統(tǒng)計數(shù)據(jù),將統(tǒng)計數(shù)據(jù)存放在分布式文件系統(tǒng)HDFS中,然后將存放在分布式文件系統(tǒng)HDFS中存放的統(tǒng)計數(shù)據(jù)導(dǎo)出到Mysql數(shù)據(jù)庫中;針對緩存到Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中的業(yè)務(wù)日志數(shù)據(jù),Hadoop分布式集群平臺首先采用Strom流式計算框架對Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中緩存的業(yè)務(wù)日志數(shù)據(jù)進行分析處理得到實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù),并將得到的實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)存放在非關(guān)系型數(shù)據(jù)庫Redis中;然后將實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)通過分布式文件系統(tǒng)HDFS提供的 API 來持久化存儲數(shù)據(jù)到HBase分布式數(shù)據(jù)庫中并建立主鍵和索引;

4)Hadoop分布式集群平臺響應(yīng)用戶的查詢,當(dāng)收到用戶的查詢請求時,對HBase分布式數(shù)據(jù)庫中的實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)或Mysql數(shù)據(jù)庫中的統(tǒng)計數(shù)據(jù)進行查詢并顯示查詢結(jié)果。

優(yōu)選地,步驟1)中的Hadoop分布式集群平臺包括Server1~Server7共七個服務(wù)器節(jié)點,服務(wù)器節(jié)點Server1為安裝有分布式文件系統(tǒng)HDFS的HDFS服務(wù)器,服務(wù)器節(jié)點Server2為安裝有HBase分布式數(shù)據(jù)庫的HBase服務(wù)器,服務(wù)器節(jié)點Server3為安裝有Kafka分布式消息緩存系統(tǒng)以及Strom流式計算框架的Kafka Strom服務(wù)器,服務(wù)器節(jié)點Server4為用于對HDFS服務(wù)器中清洗轉(zhuǎn)換后的服務(wù)器軟件訪問日志文件數(shù)據(jù)進行統(tǒng)計分析的離線分析數(shù)據(jù)庫,服務(wù)器節(jié)點Server5為安裝有Mysql數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫Redis的數(shù)據(jù)庫服務(wù)器,服務(wù)器節(jié)點Server6為用于接收上傳服務(wù)器軟件訪問日志文件并進行備份的NFS服務(wù)器,服務(wù)器節(jié)點Server7為用于通過REST接口接收業(yè)務(wù)日志以及響應(yīng)用戶的查詢并顯示查詢結(jié)果的接口服務(wù)器。

優(yōu)選地,步驟3)中對服務(wù)器軟件訪問日志文件數(shù)據(jù)進行清洗轉(zhuǎn)換具體是指使用MapReduce數(shù)據(jù)清洗算法進行清洗轉(zhuǎn)換。

優(yōu)選地,步驟3)中對清洗轉(zhuǎn)換后的服務(wù)器軟件訪問日志文件數(shù)據(jù)進行統(tǒng)計分析得到的統(tǒng)計數(shù)據(jù)包括瀏覽量PV、獨立IP數(shù)、被傳輸頁面的總字節(jié)數(shù)、統(tǒng)計來源網(wǎng)站與跳出率、每個小時頁面訪問量中的至少一種。

本發(fā)明在建立Hadoop分布式集群平臺的基礎(chǔ)上,針對目標(biāo)應(yīng)用系統(tǒng)服務(wù)器中的服務(wù)器軟件訪問日志、業(yè)務(wù)日志兩種日志進行分類處理,針對存儲到分布式文件系統(tǒng)HDFS中的服務(wù)器軟件訪問日志文件,Hadoop分布式集群平臺首先對服務(wù)器軟件訪問日志文件數(shù)據(jù)進行清洗轉(zhuǎn)換,對清洗轉(zhuǎn)換后的服務(wù)器軟件訪問日志文件數(shù)據(jù)進行統(tǒng)計分析得到統(tǒng)計數(shù)據(jù),將統(tǒng)計數(shù)據(jù)存放在分布式文件系統(tǒng)HDFS中,然后將存放在分布式文件系統(tǒng)HDFS中存放的統(tǒng)計數(shù)據(jù)導(dǎo)出到Mysql數(shù)據(jù)庫中;針對緩存到Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中的業(yè)務(wù)日志數(shù)據(jù),Hadoop分布式集群平臺首先采用Strom流式計算框架對Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中緩存的業(yè)務(wù)日志數(shù)據(jù)進行分析處理得到實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù),并將得到的實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)存放在非關(guān)系型數(shù)據(jù)庫Redis中;然后將實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)通過分布式文件系統(tǒng)HDFS提供的 API 來持久化存儲數(shù)據(jù)到HBase分布式數(shù)據(jù)庫中并建立主鍵和索引;基于Hadoop分布式集群平臺響應(yīng)用戶的查詢,當(dāng)收到用戶的查詢請求時,對HBase分布式數(shù)據(jù)庫中的實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)或Mysql數(shù)據(jù)庫中的統(tǒng)計數(shù)據(jù)進行查詢并顯示查詢結(jié)果,使得本發(fā)明基于Hadoop的海量日志數(shù)據(jù)處理方法具有下述優(yōu)點:1、可支持分布式的日志收集;2、可支持跨節(jié)點的日志查詢;3、能統(tǒng)計網(wǎng)站各大關(guān)鍵指標(biāo)數(shù)據(jù),如瀏覽量PV、獨立IP數(shù)、被傳輸頁面的總字節(jié)數(shù)、統(tǒng)計來源網(wǎng)站與跳出率、每個小時頁面訪問量;4、為進一步數(shù)據(jù)挖掘提供有效途徑,在此基礎(chǔ)上開發(fā)數(shù)據(jù)監(jiān)控、廣告反饋、分類統(tǒng)計等功能。綜上所述,本發(fā)明基于Hadoop的海量日志數(shù)據(jù)處理方法是一種可支持分布式日志管理、支持跨節(jié)點查詢、能統(tǒng)計網(wǎng)站各打指標(biāo)數(shù)據(jù)、為進一步數(shù)據(jù)挖掘提供有效途徑的基于Hadoo的海量日志數(shù)據(jù)處理方法,本發(fā)明突破傳統(tǒng)數(shù)據(jù)處理方式的瓶頸,使得海量數(shù)據(jù)的收集、存儲、計算變得更加容易、更加高效。

附圖說明

圖1為本發(fā)明實施例方法的基本原理示意圖。

圖2為本發(fā)明實施例中建立的Hadoop分布式集群平臺架構(gòu)示意圖。

具體實施方式

如圖1所示,本實施例基于Hadoop的海量日志數(shù)據(jù)處理方法的實施步驟包括:

1)建立Hadoop分布式集群平臺,Hadoop分布式集群平臺安裝有分布式文件系統(tǒng)HDFS、非關(guān)系型數(shù)據(jù)庫Redis、Mysql數(shù)據(jù)庫、HBase分布式數(shù)據(jù)庫、Kafka分布式消息緩存系統(tǒng)、REST接口以及Strom流式計算框架;將待進行海量日志處理的目標(biāo)應(yīng)用系統(tǒng)服務(wù)器和Hadoop分布式集群平臺相連,并預(yù)先在目標(biāo)應(yīng)用系統(tǒng)服務(wù)器中部署用于定時上傳服務(wù)器軟件訪問日志文件的SHELL腳本;

2)針對目標(biāo)應(yīng)用系統(tǒng)服務(wù)器中的服務(wù)器軟件訪問日志、業(yè)務(wù)日志兩種日志,通過SHELL腳本定時上傳推送服務(wù)器軟件訪問日志文件給Hadoop分布式集群平臺,Hadoop分布式集群平臺將服務(wù)器軟件訪問日志文件存儲到分布式文件系統(tǒng)HDFS;Hadoop分布式集群平臺通過REST接口接收目標(biāo)應(yīng)用系統(tǒng)服務(wù)器的業(yè)務(wù)日志,并將業(yè)務(wù)日志數(shù)據(jù)推送到Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中進行緩存;

3)針對存儲到分布式文件系統(tǒng)HDFS中的服務(wù)器軟件訪問日志文件,Hadoop分布式集群平臺首先對服務(wù)器軟件訪問日志文件數(shù)據(jù)進行清洗轉(zhuǎn)換,對清洗轉(zhuǎn)換后的服務(wù)器軟件訪問日志文件數(shù)據(jù)進行統(tǒng)計分析得到統(tǒng)計數(shù)據(jù),將統(tǒng)計數(shù)據(jù)存放在分布式文件系統(tǒng)HDFS中,然后將存放在分布式文件系統(tǒng)HDFS中存放的統(tǒng)計數(shù)據(jù)導(dǎo)出到Mysql數(shù)據(jù)庫中;針對緩存到Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中的業(yè)務(wù)日志數(shù)據(jù),Hadoop分布式集群平臺首先采用Strom流式計算框架對Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中緩存的業(yè)務(wù)日志數(shù)據(jù)進行分析處理得到實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù),并將得到的實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)存放在非關(guān)系型數(shù)據(jù)庫Redis中;然后將實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)通過分布式文件系統(tǒng)HDFS提供的 API 來持久化存儲數(shù)據(jù)到HBase分布式數(shù)據(jù)庫中并建立主鍵和索引(以便為數(shù)據(jù)展現(xiàn)提供高效的數(shù)據(jù)訪問能力);

4)Hadoop分布式集群平臺響應(yīng)用戶的查詢,當(dāng)收到用戶的查詢請求時,對HBase分布式數(shù)據(jù)庫中的實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)或Mysql數(shù)據(jù)庫中的統(tǒng)計數(shù)據(jù)進行查詢并顯示查詢結(jié)果。

本實施例方法在具體實現(xiàn)時包含了日志數(shù)據(jù)采集模塊、日志數(shù)據(jù)清洗模塊、日志數(shù)據(jù)分析模塊、日志數(shù)據(jù)存儲模塊、數(shù)據(jù)導(dǎo)出模塊和數(shù)據(jù)展現(xiàn)模塊。本實施例中,日志數(shù)據(jù)采集模塊使用REST架構(gòu)和SHELL腳本;日志數(shù)據(jù)清洗模塊使用MapReduce數(shù)據(jù)清洗算法;日志數(shù)據(jù)分析模塊使用MapReduce分析算法和Strom流式計算框架,分析計算網(wǎng)站各大關(guān)鍵指標(biāo),如瀏覽量PV、獨立IP數(shù)、被傳輸頁面的總字節(jié)數(shù)、統(tǒng)計來源網(wǎng)站與跳出率、每個小時頁面訪問量,以供運營者決策;日志數(shù)據(jù)存儲模塊使用HBase框架;數(shù)據(jù)導(dǎo)出模塊使用SQOOP框架,將得到的各個指標(biāo)導(dǎo)出到集群外的關(guān)系型數(shù)據(jù)庫Mysql中;數(shù)據(jù)展現(xiàn)模塊使用ZooKeeper和HBase框架,Mysql關(guān)系型數(shù)據(jù)庫實現(xiàn)海量數(shù)據(jù)的毫秒級查詢。

其中針對服務(wù)器軟件訪問日志,需要使用日志數(shù)據(jù)采集模塊、日志數(shù)據(jù)清洗模塊、日志數(shù)據(jù)分析模塊、日志數(shù)據(jù)存儲模塊、數(shù)據(jù)導(dǎo)出模塊和數(shù)據(jù)展現(xiàn)模塊;日志數(shù)據(jù)采集模塊通過SHELL腳本定時上傳推送服務(wù)器軟件訪問日志文件給Hadoop分布式集群平臺,日志數(shù)據(jù)清洗模塊對服務(wù)器軟件訪問日志文件數(shù)據(jù)進行清洗轉(zhuǎn)換,日志數(shù)據(jù)分析模塊對清洗轉(zhuǎn)換后的服務(wù)器軟件訪問日志文件數(shù)據(jù)進行統(tǒng)計分析得到統(tǒng)計數(shù)據(jù),日志數(shù)據(jù)存儲模塊將統(tǒng)計數(shù)據(jù)存放在分布式文件系統(tǒng)HDFS中,數(shù)據(jù)導(dǎo)出模塊將存放在分布式文件系統(tǒng)HDFS中存放的統(tǒng)計數(shù)據(jù)導(dǎo)出到Mysql數(shù)據(jù)庫中;數(shù)據(jù)展現(xiàn)模塊基于Mysql數(shù)據(jù)庫中的數(shù)據(jù)提供查詢,并顯示查詢結(jié)果。針對業(yè)務(wù)日志,則需要使用日志數(shù)據(jù)采集模塊、日志數(shù)據(jù)分析模塊、日志數(shù)據(jù)存儲模塊、數(shù)據(jù)導(dǎo)出模塊和數(shù)據(jù)展現(xiàn)模塊;日志數(shù)據(jù)采集模塊通過REST接口接收目標(biāo)應(yīng)用系統(tǒng)服務(wù)器的業(yè)務(wù)日志,并將業(yè)務(wù)日志數(shù)據(jù)推送到Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中進行緩存,日志數(shù)據(jù)分析模塊采用Strom流式計算框架對Kafka分布式消息緩存系統(tǒng)的Kafka消息隊列中緩存的業(yè)務(wù)日志數(shù)據(jù)進行分析處理得到實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù),日志數(shù)據(jù)存儲模塊將得到的實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)存放在非關(guān)系型數(shù)據(jù)庫Redis中,數(shù)據(jù)導(dǎo)出模塊將實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)通過分布式文件系統(tǒng)HDFS提供的 API 來持久化存儲數(shù)據(jù)到HBase分布式數(shù)據(jù)庫中并建立主鍵和索引,數(shù)據(jù)展現(xiàn)模塊基于HBase分布式數(shù)據(jù)庫中的數(shù)據(jù)提供查詢,并顯示查詢結(jié)果。

本實施例中,步驟3)中對服務(wù)器軟件訪問日志文件數(shù)據(jù)進行清洗轉(zhuǎn)換具體是指使用MapReduce數(shù)據(jù)清洗算法進行清洗轉(zhuǎn)換。本實施例中進行清洗轉(zhuǎn)換時,具體步驟包括檢查數(shù)據(jù)一致性,處理無效值和缺失值,清洗轉(zhuǎn)換后的數(shù)據(jù)存放在分布式文件系統(tǒng)HDFS中。

本實施例中,步驟3)中對清洗轉(zhuǎn)換后的服務(wù)器軟件訪問日志文件數(shù)據(jù)進行統(tǒng)計分析得到的統(tǒng)計數(shù)據(jù)包括瀏覽量PV、獨立IP數(shù)、被傳輸頁面的總字節(jié)數(shù)、統(tǒng)計來源網(wǎng)站與跳出率、每個小時頁面訪問量,此外也可以根據(jù)需要選擇其中至少一種或者更多其他本實施例中未提及的統(tǒng)計數(shù)據(jù),其原理與本實施例相同。

如圖2所示,步驟1)中的Hadoop分布式集群平臺包括Server1~Server7共七個服務(wù)器節(jié)點,服務(wù)器節(jié)點Server1為安裝有分布式文件系統(tǒng)HDFS的HDFS服務(wù)器,服務(wù)器節(jié)點Server2為安裝有HBase分布式數(shù)據(jù)庫的HBase服務(wù)器,服務(wù)器節(jié)點Server3為安裝有Kafka分布式消息緩存系統(tǒng)以及Strom流式計算框架的Kafka Strom服務(wù)器,服務(wù)器節(jié)點Server4為用于對HDFS服務(wù)器中清洗轉(zhuǎn)換后的服務(wù)器軟件訪問日志文件數(shù)據(jù)進行統(tǒng)計分析的離線分析數(shù)據(jù)庫,服務(wù)器節(jié)點Server5為安裝有Mysql數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫Redis的數(shù)據(jù)庫服務(wù)器,服務(wù)器節(jié)點Server6為用于接收上傳服務(wù)器軟件訪問日志文件并進行備份的NFS服務(wù)器,服務(wù)器節(jié)點Server7為用于通過REST接口接收業(yè)務(wù)日志以及響應(yīng)用戶的查詢并顯示查詢結(jié)果的接口服務(wù)器。本實施例中,

參見圖2,本實施例中,目標(biāo)應(yīng)用系統(tǒng)服務(wù)器上運行了web服務(wù)器,目標(biāo)應(yīng)用系統(tǒng)服務(wù)器的web服務(wù)器會主動發(fā)送業(yè)務(wù)日志,同時每天通過SHELL腳本推送服務(wù)器軟件日志到Hadoop分布式集群平臺的NFS服務(wù)器。同時,目標(biāo)應(yīng)用系統(tǒng)服務(wù)器還基于web服務(wù)器對管理員提供查詢管理日志服務(wù),管理員可以通過該服務(wù)查詢和管理日志;目標(biāo)應(yīng)用系統(tǒng)服務(wù)器還基于web服務(wù)器對網(wǎng)站用戶提供訪問登陸,登陸鑒權(quán)通過后普通用戶訪問業(yè)務(wù)系統(tǒng)可以查詢業(yè)務(wù)日志詳情、查詢?nèi)罩痉治鼋Y(jié)果等。

本實施例中,針對Server1~Server7共七個服務(wù)器節(jié)點的進行配置的步驟如下:

S1)對Linux進行基礎(chǔ)環(huán)境搭建,如修改Linux主機名、固定Linux機器IP、修改主機名和IP的映射關(guān)系、ssh免登陸、安裝JDK,配置JDK環(huán)境變量等。

S2)搭建Hadoop分布式集群平臺(包括Hadoop +zooekeeper集群)。

服務(wù)器節(jié)點Server1:安裝軟件jdk、hadoop,運行進程為NameNode、DFSZKFailoverController(zkfc),其中NameNode為提供Hadoop的名稱服務(wù)進程,DFSZKFailoverController進程為故障轉(zhuǎn)移進程;本實施例中服務(wù)器節(jié)點Server1具有下述用途:1、為HBase分布式數(shù)據(jù)庫做基礎(chǔ)服務(wù);2、為推送的服務(wù)器軟件日志做存儲。

服務(wù)器節(jié)點Server2:安裝軟件jdk、hadoop,運行進程為NameNode、DFSZKFailoverController(zkfc) ,其中NameNode為提供Hadoop集群的名稱服務(wù)進程,DFSZKFailoverController進程為故障轉(zhuǎn)移進程;本實施例中服務(wù)器節(jié)點Server2具有下述用途:為HBase分布式數(shù)據(jù)庫存儲業(yè)務(wù)日志。

服務(wù)器節(jié)點Server3:安裝軟件jdk、hadoop,運行進程為ResourceManager,其中ResourceManager為hadoop的管理服務(wù)進程;本實施例中服務(wù)器節(jié)點Server3具有下述用途:1、Kafka分布式消息緩存系統(tǒng)對業(yè)務(wù)日志做消息隊列;2、Strom流式計算框架一方面存儲業(yè)務(wù)日志到Hbase分布式數(shù)據(jù)庫,另一方面對業(yè)務(wù)日志做實時計算分析。

服務(wù)器節(jié)點Server4:安裝軟件jdk、hadoop,運行進程為ResourceManager,其中ResourceManager為hadoop的管理服務(wù)進程;本實施例中服務(wù)器節(jié)點Server4具有下述用途:對存儲在分布式文件系統(tǒng)HDFS和HBase數(shù)據(jù)庫上的數(shù)據(jù)進行離線數(shù)據(jù)分析。

服務(wù)器節(jié)點Server5:安裝軟件jdk、hadoop、zookeeper,運行進程為DataNode、NodeManager、JournalNode、QuorumPeerMain,其中DataNode為hadoop的數(shù)據(jù)節(jié)點服務(wù)進程;NodeManager為節(jié)點管理進程,JournalNode為NameNode之間共享數(shù)據(jù)的進程,QuorumPeerMain為zooekeeper的服務(wù)進程;服務(wù)器節(jié)點Server5還包含有Memcached數(shù)據(jù)庫和Mysql數(shù)據(jù)庫Memcached數(shù)據(jù)庫用于保存實時計算分析結(jié)果,Mysql數(shù)據(jù)庫用于保存離線計算分析后的數(shù)據(jù)。

服務(wù)器節(jié)點Server6:安裝軟件jdk、hadoop、zookeeper,運行進程為DataNode、NodeManager、JournalNode、QuorumPeerMain,其中DataNode為hadoop的數(shù)據(jù)節(jié)點服務(wù)進程;NodeManager為節(jié)點管理進程,JournalNode為NameNode之間共享數(shù)據(jù)的進程,QuorumPeerMain為zooekeeper的服務(wù)進程;本實施例中服務(wù)器節(jié)點Server6具有下述用途:1、備份每天的服務(wù)器軟件日志;2、接收業(yè)務(wù)系統(tǒng)推送的目標(biāo)應(yīng)用系統(tǒng)服務(wù)器的軟件日志后,推送到分布式文件系統(tǒng)HDFS的集群上。

服務(wù)器節(jié)點Server7:安裝軟件jdk、hadoop、zookeeper,運行進程為DataNode、NodeManager、JournalNode、QuorumPeerMain,其中DataNode為hadoop的數(shù)據(jù)節(jié)點服務(wù)進程;NodeManager為節(jié)點管理進程,JournalNode為NameNode之間共享數(shù)據(jù)的進程,QuorumPeerMain為zooekeeper的服務(wù)進程;本實施例中服務(wù)器節(jié)點Server7具有下述用途:1、對業(yè)務(wù)系統(tǒng)請求鑒權(quán)。2、采用webservice+SDK發(fā)布接口,接收業(yè)務(wù)系統(tǒng)的請求(查詢、存儲)。

本實施例中,Hadoop集群由兩個NameNode組成,一個處于active狀態(tài),另一個處于standby狀態(tài)。Active NameNode對外提供服務(wù),而Standby NameNode則不對外提供服務(wù),僅同步active namenode的狀態(tài),以便能夠在它失敗時快速進行切換。Hadoop集群的HDFS HA的采用QJM解決方案,在該方案中,主備NameNode之間通過一組JournalNode同步元數(shù)據(jù)信息,一條數(shù)據(jù)只要成功寫入多數(shù)JournalNode即認(rèn)為寫入成功。通常配置奇數(shù)個JournalNode;同時,本實施例中還配置了一個zookeeper集群,用于ZKFC(DFSZKFailoverController)故障轉(zhuǎn)移,當(dāng)Active NameNode掛掉了,會自動切換Standby NameNode為standby狀態(tài);兩個ResourceManager,一個是Active,一個是Standby,狀態(tài)由zookeeper進行協(xié)調(diào)。

S3)在Hadoop集群上搭建所需的分布式數(shù)據(jù)框架HBase,得到HBase分布式數(shù)據(jù)庫。首先啟動ZooKeeper集群,然后啟動Hadoop分布式集群, 最后在Master(元數(shù)據(jù)節(jié)點)上啟動HBase集群。

S4)在Hadoop集群上搭建分布式Strom流式計算框架和Kafka分布式消息緩存系統(tǒng)。

S5)安裝配置Mysql數(shù)據(jù)庫、redis數(shù)據(jù)庫,并且搭建SQOOP數(shù)據(jù)導(dǎo)出框架。

S6)搭建一個REST接口服務(wù),供日志數(shù)據(jù)接收與分析結(jié)果的可視化展示功能。

S7)在分布式文件系統(tǒng)HDFS根目錄下創(chuàng)建目標(biāo)應(yīng)用系統(tǒng)服務(wù)器對應(yīng)的文件夾,通過REST接口服務(wù)與集群通過RPC(遠程過程調(diào)用協(xié)議)通信交互,讓業(yè)務(wù)日志推送到Kafka分布式消息緩存系統(tǒng)的kafka消息隊列中,服務(wù)器軟件訪問日志同步到分布式文件系統(tǒng)HDFS中對應(yīng)的目標(biāo)應(yīng)用系統(tǒng)服務(wù)器對應(yīng)的文件夾下。

S8)對分布式文件系統(tǒng)HDFS中的服務(wù)器軟件訪問日志文件通過起送清洗模塊進行數(shù)據(jù)清洗,清洗完畢后,使用數(shù)據(jù)統(tǒng)計分析模塊對服務(wù)器軟件訪問日志進行網(wǎng)站各大關(guān)鍵指標(biāo)的統(tǒng)計分析,如瀏覽量PV、獨立IP數(shù)、被傳輸頁面的總字節(jié)數(shù)、統(tǒng)計來源網(wǎng)站與跳出率、每個小時頁面訪問量;業(yè)務(wù)日志推送到Kafka分布式消息緩存系統(tǒng)的kafka消息隊列中后,就可以通過實時流式計算Storm對kafka中業(yè)務(wù)日志進行業(yè)務(wù)日志數(shù)據(jù)統(tǒng)計分析,得到需要的實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù),將實時性業(yè)務(wù)統(tǒng)計數(shù)據(jù)存放在非關(guān)系型數(shù)據(jù)庫Redis中。

S9)將業(yè)務(wù)日志數(shù)據(jù)通過分布式文件系統(tǒng)HDFS提供的 API 來持久化存儲數(shù)據(jù)到HBase中,以便后續(xù)的業(yè)務(wù)日志數(shù)據(jù)查詢與離線統(tǒng)計分析。使用數(shù)據(jù)導(dǎo)出模塊(SQOOP服務(wù))把分析匯總的數(shù)據(jù)導(dǎo)出到Mysql數(shù)據(jù)庫中。配置完畢以后,即可通過REST接口服務(wù)將日志分析結(jié)果進行可視化展示,如以柱狀圖、餅狀圖、折線圖等可視化形式在 Web 頁面上展示。

以上所述僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施例,凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護范圍。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1