• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Apache Flume 的大數(shù)據(jù)日志收集系統(tǒng)

      2016-11-02 07:22:40于秦
      中國新通信 2016年18期

      于秦

      【摘要】 在信息化及大數(shù)據(jù)時代下,各種應(yīng)用程序的分散及生成的日志信息成爆炸式增長,怎么有效的收集這些日志,并對它進行在線和離線分析,已經(jīng)成為這領(lǐng)域的熱點。我們在現(xiàn)有的Apache Flume、Hadoop等框架下,設(shè)計實現(xiàn)了一種大數(shù)據(jù)日志收集系統(tǒng)。

      【關(guān)鍵詞】 Apache Flume 日志收集 Hadoop

      大數(shù)據(jù)及互聯(lián)網(wǎng)時代下,為了更有效的管理各種應(yīng)用和系統(tǒng)程序的運行,通過收集它們的日志信息,進行離線和在線分析,來了解它們的運行和安全情況。在信息化及大數(shù)據(jù)下,分布式系統(tǒng)用的越來越多,日志的存儲路徑及分布情況越來越多。為了能更好的聚集存儲分析這些分布式日志,本文基于開源的Apache Flume 、Hadoop 框架下,設(shè)計實現(xiàn)了一種大數(shù)據(jù)分布式的日志收集系統(tǒng),并將收集的日志用于監(jiān)控分析。

      一、 Flume

      Flume 是一種開源的分布式日志管理架構(gòu),它可以將日志聚集,有可用性高、性能高、事務(wù)管理、失敗重啟等功能。將各個分布式系統(tǒng)上的日志源聚集到一個存儲上,方便日志的統(tǒng)一的分析和處理。數(shù)據(jù)處理速度快,完全可以用于生產(chǎn)環(huán)境[4]。 Flume的核心是agent :(1)agent是一個java進程,運行在日志收集端,通過agent接收日志,然后暫存起來,再發(fā)送到目的地;(2)agent里面包含3個核心組件:source、channel、sink。source 組件是專用于收集日志的,可以處理各種類型各種格式的日志數(shù)據(jù),source組件把數(shù)據(jù)收集來以后,臨時存放在channel中。channel 組件是在agent中專用于臨時存儲數(shù)據(jù)的,channel中的數(shù)據(jù)只有在sink發(fā)送成功之后才會被刪除。sink 組件是用于把數(shù)據(jù)發(fā)送到目的地的組件,目的地包括hdfs、logger、avro、thrift、ipc、file、null、hbase、solr、自定義。在整個數(shù)據(jù)傳輸過程中,流動的是event。事務(wù)保證是在event級別。flume可以支持多級flume的agent,支持扇入(fan-in)、扇出(fan-out)。

      二、Morphline

      Morphline是由flume的母公司Cloudera開源的一個ETL框架。它用于構(gòu)建、改變基于Hadoop進行 ETL的流式處理程序,流程圖如圖2。Morphline用簡單的配置步驟代替了Java編程。

      三、日志收集系統(tǒng)的實現(xiàn)

      1、Linux系統(tǒng)及應(yīng)用日志的收集處理。首先我們配置Linux系統(tǒng)下的rsyslog文件實現(xiàn)日志的外發(fā),通過udp或tcp等協(xié)議將日志信息通過設(shè)定的端口發(fā)到所指定IP地址的機器上。然后在安裝有flume的機器上,修改配置文件,設(shè)定source 類型為syslogudp或syslogtcp、端口與外發(fā)端口對應(yīng)。設(shè)置channel的類型,這里常用的主要有filechannel和memorychannel兩種類型,memorychannel具有高的吞吐量,持久化卻比較低,而filechannel提供了這種持久化,保證了數(shù)據(jù)處理的可靠性,但是讀寫速度較慢,我們這里選取memorychannel。最后通過sink 將日志存儲到目的地。這里我們分為兩種存儲外發(fā)方式,一種用于離線分析存儲到Hadoop下的分布式文件系統(tǒng)(HDFS),它具有容錯性高、可擴展、吞吐量高等特征;另一種用于實時數(shù)據(jù)分析處理,將它發(fā)送到Kafka上,通過Storm收集及處理分析數(shù)據(jù)。在這里為了處理的方便,我們利用morphline對日志進行了格式化處理,message域中采用正則表達(dá)式進行格式化處理。

      2、Windows系統(tǒng)日志的收集收集處理。由于Windows自身系統(tǒng)沒有轉(zhuǎn)發(fā)功能,我們需要安裝一個agent。我們利用agent把Windows的各類日志轉(zhuǎn)變成syslog日志,最后通過相應(yīng)的協(xié)議轉(zhuǎn)發(fā)到服務(wù)器端。Evtsys用C語言開發(fā)的,它可以將Windows相應(yīng)的日志發(fā)送到syslog服務(wù)器。由于它的高效、快速、輕量等特點,常常被一些高負(fù)載的服務(wù)器所設(shè)計利用。并可以作為Windows服務(wù)存在。我們通過安裝Evtsys工具來實現(xiàn)window系統(tǒng)下日志的外發(fā),通過在命令行中開啟命令就可以在接收端通過flume接收日志進行存儲,設(shè)置如(1)。

      3、其他軟件平臺日志的收集收集處理。其他軟件平臺的日志通過安裝相應(yīng)的agent,設(shè)置agent的外發(fā)配置實現(xiàn)flume端的接收收集存儲。

      結(jié)論:基于現(xiàn)有日志收集方案下,通過開源軟件Flume設(shè)計實現(xiàn)一種分布式多平臺多系統(tǒng)收集多種日志的系統(tǒng)。本系統(tǒng)具有高吞吐量、可擴展性強、高聚合等特征,還通過morphine將message域進行分割便于提取有關(guān)信息,實現(xiàn)日志的集中存儲,方便數(shù)據(jù)的分析,同時為實時和離線數(shù)據(jù)分析提供數(shù)據(jù)。

      參 考 文 獻(xiàn)

      [1] 詹玲,馬駿,陳伯江,陳維梁,呂睿.分布式I/O日志收集系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機工程與應(yīng)用. 2010(36)

      [2] 宋愛青.基于Hadoop的日志分析系統(tǒng)的設(shè)計與實現(xiàn)[D]. 中國地質(zhì)大學(xué)(北京) 2012

      [3] 孫寅林.基于分布式計算平臺的海量日志分析系統(tǒng)的設(shè)計與實現(xiàn)[D]. 西安電子科技大學(xué) 2012

      [4] Apache Flume. http://flume.apache.org/ .

      [5]Morphline.http://kitesdk.org/

      阿拉善左旗| 汝阳县| 封开县| 资阳市| 庆城县| 石阡县| 镇赉县| 祁门县| 绥阳县| 白山市| 中超| 游戏| 哈尔滨市| 呼图壁县| 宜丰县| 额敏县| 宁波市| 聂拉木县| 乳山市| 玉门市| 南漳县| 永安市| 武胜县| 高尔夫| 渝北区| 应城市| 淳化县| 山西省| 广水市| 蒙自县| 嘉义市| 和静县| 旬阳县| 鞍山市| 德庆县| 鄂伦春自治旗| 德惠市| 商河县| 苍山县| 宁阳县| 南郑县|