1.一種分布式流數(shù)據(jù)的采集方法,其特征在于,包括:
步驟1:Source接收Events或通過特殊機(jī)制產(chǎn)生Events,并將Events批量的放到一個或多個Channels;
步驟2:Channel接收緩存Source輸出Events,而當(dāng)有Sink消費(fèi)掉Channel中的數(shù)據(jù)Channel中的數(shù)據(jù)直到進(jìn)入到下一個Channel中或者進(jìn)入終端才會被刪除;
步驟3:Sink將events傳輸?shù)较乱惶蜃罱K目的,成功完成后將events從channel移除,Sink會消費(fèi)Channel中的數(shù)據(jù),然后送給外部源或者其他Source。
2.根據(jù)權(quán)利要求1所述的分布式流數(shù)據(jù)的采集方法,其特征在于,所述Source的類型包括:
a)系統(tǒng)集成的Sources:Syslog(系統(tǒng)日志),Netcat;
b)自動生成事件的Sources:Exec,SEQ;
c)用于Agent和Agent之間通信的IPCSources:Avro,Thrift。
3.根據(jù)權(quán)利要求1所述的分布式流數(shù)據(jù)的采集方法,其特征在于,所述Source還可以用來接收外部源發(fā)送過來的數(shù)據(jù),不同的Source,可以接受不同的數(shù)據(jù)格式。
4.根據(jù)權(quán)利要求1所述的分布式流數(shù)據(jù)的采集方法,其特征在于,每個Source至少和一個Channel關(guān)聯(lián),以將接收的數(shù)據(jù)進(jìn)行緩存。
5.根據(jù)權(quán)利要求1所述的分布式流數(shù)據(jù)的采集方法,其特征在于,Channel是一個存儲池,介于Source和Sink之間,主要用來接收緩存Source輸出Events,而當(dāng)有Sink消費(fèi)掉Channel中的數(shù)據(jù),Channel中的數(shù)據(jù)直到進(jìn)入到下一個Channel中或者進(jìn)入終端才會被刪除;當(dāng)Sink寫入失敗后,可以自動重啟。
6.根據(jù)權(quán)利要求1所述的分布式流數(shù)據(jù)的采集方法,其特征在于,F(xiàn)lume允許多個Agent連在一起,形成前后相連的多級跳。