亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

大數據采集工具,除了Flume,還有哪些工具?

優(yōu)采云 發(fā)布時(shí)間: 2020-08-03 09:04

  隨著(zhù)大數據越來(lái)越被注重,數據采集的挑戰變的尤為突出。今天為你們介紹幾款數據采集平臺:

  大數據平臺與數據采集

  任何完整的大數據平臺,一般包括以下的幾個(gè)過(guò)程:

  數據采集-->數據儲存-->數據處理-->數據凸顯(可視化,報表和監控)

  

  其中,數據采集是所有數據系統必不可少的采集工具,隨著(zhù)大數據越來(lái)越被注重,數據采集的挑戰也變的尤為突出。這其中包括:

  我們明天就來(lái)瞧瞧當前可用的六款數據采集的產(chǎn)品,重點(diǎn)關(guān)注它們是怎么做到高可靠,高性能和高擴充。

  1、Apache Flume

  官網(wǎng):

  Flume 是Apache旗下的一款開(kāi)源、高可靠、高擴充、容易管理、支持顧客擴充的數據采集系統。 Flume使用JRuby來(lái)建立,所以依賴(lài)Java運行環(huán)境。

  Flume最初是由Cloudera的工程師設計用于合并日志數據的系統,后來(lái)逐步發(fā)展用于處理流數據風(fēng)波。

  

  Flume設計成一個(gè)分布式的管線(xiàn)構架,可以看作在數據源和目的地之間有一個(gè)Agent的網(wǎng)路,支持數據路由。

  

  每一個(gè)agent都由Source,Channel和Sink組成。

  Source

  Source負責接收輸入數據,并將數據寫(xiě)入管線(xiàn)。Flume的Source支持HTTP,JMS,RPC,NetCat,Exec,Spooling Directory。其中Spooling支持監視一個(gè)目錄或則文件,解析其中新生成的風(fēng)波。

  Channel

  Channel 存儲,緩存從source到Sink的中間數據??墒褂貌煌呐渲脕?lái)做Channel,例如顯存,文件,JDBC等。使用顯存性能高但不持久,有可能丟數據。使用文件更可靠,但性能不如顯存。

  Sink

  Sink負責從管線(xiàn)中讀出數據并發(fā)給下一個(gè)Agent或則最終的目的地。Sink支持的不同目的地種類(lèi)包括:HDFS,HBASE,Solr,ElasticSearch,File,Logger或則其它的Flume Agent。

  

  Flume在source和sink端都使用了transaction機制保證在數據傳輸中沒(méi)有數據遺失。

  

  Source上的數據可以復制到不同的通道上。每一個(gè)Channel也可以聯(lián)接不同數目的Sink。這樣聯(lián)接不同配置的Agent就可以組成一個(gè)復雜的數據搜集網(wǎng)路。通過(guò)對agent的配置,可以組成一個(gè)路由復雜的數據傳輸網(wǎng)路。

  

  配置如上圖所示的agent結構,Flume支持設置sink的Failover和Load Balance,這樣就可以保證雖然有一個(gè)agent失效的情況下,整個(gè)系統仍能正常搜集數據。

  

  Flume中傳輸的內容定義為風(fēng)波(Event),事件由Headers(包含元數據,Meta Data)和Payload組成。

  Flume提供SDK,可以支持用戶(hù)訂制開(kāi)發(fā):

  Flume客戶(hù)端負責在風(fēng)波形成的源頭把風(fēng)波發(fā)送給Flume的Agent??蛻?hù)端一般和形成數據源的應用在同一個(gè)進(jìn)程空間。常見(jiàn)的Flume 客戶(hù)端有Avro,log4J,syslog和HTTP Post。另外ExecSource支持指定一個(gè)本地進(jìn)程的輸出作為Flume的輸入。當然很有可能,以上的那些客戶(hù)端都不能滿(mǎn)足需求,用戶(hù)可以訂制的客戶(hù)端,和已有的FLume的Source進(jìn)行通訊,或者訂制實(shí)現一種新的Source類(lèi)型。

  同時(shí),用戶(hù)可以使用Flume的SDK訂制Source和Sink。似乎不支持訂制的Channel。

  2、Fluentd

  官網(wǎng):

  Fluentd是另一個(gè)開(kāi)源的數據搜集框架。Fluentd使用C/Ruby開(kāi)發(fā),使用JSON文件來(lái)統一日志數據。它的可拔插構架,支持各類(lèi)不同種類(lèi)和格式的數據源和數據輸出。最后它也同時(shí)提供了高可靠和挺好的擴展性。Treasure Data, Inc 對該產(chǎn)品提供支持和維護。

  

  Fluentd的布署和Flume十分相像:

  

  Fluentd的構架設計和Flume如出一轍:

  

  Fluentd的Input/Buffer/Output特別類(lèi)似于Flume的Source/Channel/Sink。

  Input

  Input負責接收數據或則主動(dòng)抓取數據。支持syslog,http,file tail等。

  Buffer

  Buffer負責數據獲取的性能和可靠性,也有文件或顯存等不同類(lèi)型的Buffer可以配置。

  Output

  Output負責輸出數據到目的地比如文件,AWS S3或則其它的Fluentd。

  Fluentd的配置十分便捷,如下圖:

  

  Fluentd的技術(shù)棧如下圖:

  

  FLuentd和其插件都是由Ruby開(kāi)發(fā),MessgaePack提供了JSON的序列化和異步的并行通信RPC機制。

  

  Cool.io是基于libev的風(fēng)波驅動(dòng)框架。

  FLuentd的擴展性非常好,客戶(hù)可以自己訂制(Ruby)Input/Buffer/Output。

  Fluentd從各方面看都太象Flume,區別是使用Ruby開(kāi)發(fā),Footprint會(huì )小一些,但是也帶來(lái)了跨平臺的問(wèn)題,并不能支持Windows平臺。另外采用JSON統一數據/日志格式是它的另一個(gè)特性。相對去Flumed,配置也相對簡(jiǎn)單一些。

  3、Logstash

  Logstash是知名的開(kāi)源數據棧ELK (ElasticSearch, Logstash, Kibana)中的那種L。

  Logstash用JRuby開(kāi)發(fā),所有運行時(shí)依賴(lài)JVM。

  Logstash的布署構架如下圖,當然這只是一種布署的選項。

  

  一個(gè)典型的Logstash的配置如下,包括了Input,filter的Output的設置。

  

  幾乎在大部分的情況下ELK作為一個(gè)棧是被同時(shí)使用的。所有當你的數據系統使用ElasticSearch的情況下,logstash是首選。

  4、Chukwa

  官網(wǎng):

  Apache Chukwa是apache旗下另一個(gè)開(kāi)源的數據搜集平臺,它遠沒(méi)有其他幾個(gè)有名。Chukwa基于Hadoop的HDFS和Map Reduce來(lái)建立(顯而易見(jiàn),它用Java來(lái)實(shí)現),提供擴展性和可靠性。Chukwa同時(shí)提供對數據的展示,分析和監視。很奇怪的是它的上一次 github的更新事7年前??梢?jiàn)該項目應當早已不活躍了。

  Chukwa的布署構架如下:

  

  Chukwa的主要單元有:Agent,Collector,DataSink,ArchiveBuilder,Demux等等,看上去相當復雜。由于該項目早已不活躍,我們就不細看了。

  5、Scribe

  代碼托管:

  Scribe是Facebook開(kāi)發(fā)的數據(日志)收集系統。已經(jīng)多年不維護,同樣的,就不多說(shuō)了。

  

  6、Splunk Forwarder

  官網(wǎng):

  以上的所有系統都是開(kāi)源的。在商業(yè)化的大數據平臺產(chǎn)品中,Splunk提供完整的數據采金,數據儲存,數據剖析和處理,以及數據凸顯的能力。

  Splunk是一個(gè)分布式的機器數據平臺,主要有三個(gè)角色:

  Search Head負責數據的搜索和處理,提供搜索時(shí)的信息抽取。Indexer負責數據的儲存和索引Forwarder,負責數據的搜集,清洗,變形,并發(fā)獻給Indexer

  

  Splunk外置了對Syslog,TCP/UDP,Spooling的支持,同時(shí)采集工具,用戶(hù)可以通過(guò)開(kāi)發(fā) Input和Modular Input的方法來(lái)獲取特定的數據。在Splunk提供的軟件庫房里有好多成熟的數據采集應用,例如AWS,數據庫(DBConnect)等等,可以便捷的從云或則是數據庫中獲取數據步入Splunk的數據平臺做剖析。

  這里要注意的是,Search Head和Indexer都支持Cluster的配置,也就是高可用,高擴充的,但是Splunk現今還沒(méi)有針對Farwarder的Cluster的功能。也就是說(shuō)假如有一臺Farwarder的機器出了故障,數據搜集也會(huì )急劇中斷,并不能把正在運行的數據采集任務(wù)Failover到其它的 Farwarder上。

  總結

  我們簡(jiǎn)單討論了幾種流行的數據搜集平臺,它們大都提供高可靠和高擴充的數據搜集。大多平臺都具象出了輸入,輸出和中間的緩沖的構架。利用分布式的網(wǎng)路聯(lián)接,大多數平臺都能實(shí)現一定程度的擴展性和高可靠性。

  其中Flume,Fluentd是兩個(gè)被使用較多的產(chǎn)品。如果你用ElasticSearch,Logstash其實(shí)是首選,因為ELK棧提供了挺好的集成。Chukwa和Scribe因為項目的不活躍,不推薦使用。

  Splunk作為一個(gè)優(yōu)秀的商業(yè)產(chǎn)品,它的數據采集還存在一定的限制,相信Splunk很快會(huì )開(kāi)發(fā)出更好的數據搜集的解決方案。

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久