kafka多個生產(chǎn)者同時生產(chǎn) 日志采集系統(tǒng)flume和kafka有什么區(qū)別及聯(lián)系?
日志采集系統(tǒng)flume和kafka有什么區(qū)別及聯(lián)系?Flume和Kafka有一部分功能是相同的,但是整體來看,兩者的差別還是很大的;它們使用的場景有所不同,但是可以相互配合使用。Flume簡單的說,F(xiàn)
日志采集系統(tǒng)flume和kafka有什么區(qū)別及聯(lián)系?
Flume和Kafka有一部分功能是相同的,但是整體來看,兩者的差別還是很大的;它們使用的場景有所不同,但是可以相互配合使用。
Flume
簡單的說,F(xiàn)lume是分布式日志收集系統(tǒng),它把各個服務(wù)器上的日志收集起來,傳送到制定的地方,比如傳送到HDFS中。
Kafka
Kafka的定位是分布式消息中間件,自帶存儲,提供push和pull存取數(shù)據(jù)功能。
使用場景
在實際應(yīng)用中,系統(tǒng)實時產(chǎn)生的日志需要最后進入HDFS,但是生產(chǎn)上的日志數(shù)量會有波動,比如由于訪問量的增加,導(dǎo)致突然之間產(chǎn)生大量的日志,這時候可能會導(dǎo)致日志寫入HDFS失敗,所以這時候可以先把日志數(shù)據(jù)寫入到Kafka中,再由Kafka導(dǎo)入到HDFS中。
總結(jié):在日志采集系統(tǒng)中,把Kafka當(dāng)做日志緩存更加合適,F(xiàn)lume做數(shù)據(jù)采集,因為它可以定制很多數(shù)據(jù)源,減少開發(fā)量,所以Flume和Kafka可以配合起來一起工作。
整體的流程是這樣的:
服務(wù)器上的日志<--Flume-->Kafka-->HDFS-->離線計算
服務(wù)器上的日志<--Flume-->Kafka-->Storm
希望我的回答能夠幫助到你!
kafka基本概念介紹?
消息中間件,主要是起到一個緩沖承接數(shù)據(jù)并且保證數(shù)據(jù)不丟的作用,在實時計算中一般會用到,安裝了kafka的程序可以叫broker,kafka的重要角色生產(chǎn)者和消費者,kafka中如果分區(qū)數(shù)量大于1,分區(qū)中角色又分leader和follwer,leader負責(zé)讀寫,follwer負責(zé)同步數(shù)據(jù),面試中經(jīng)常會被問到kafka為什么吞吐量這么大,一是多個分區(qū)并行執(zhí)行,二是順序?qū)懘疟P,三是操作系統(tǒng)級別的緩存
如何搭建kafka?該如何學(xué)習(xí)kafka?
百度 一大堆