本篇文章為大家展示了采集層中Kafka與Flume該如何選擇,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
沙雅網(wǎng)站建設公司創(chuàng)新互聯(lián)建站,沙雅網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為沙雅數(shù)千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的沙雅做網(wǎng)站的公司定做!
采集層 主要可以使用Flume, Kafka兩種技術。
Flume:Flume 是管道流方式,提供了很多的默認實現(xiàn),讓用戶通過參數(shù)部署,及擴展API.
Kafka:Kafka是一個可持久化的分布式的消息隊列。
Kafka 是一個非常通用的系統(tǒng)。你可以有許多生產(chǎn)者和很多的消費者共享多個主題Topics。相比之下,Flume是一個專用工具被設計為旨在往HDFS,HBase發(fā)送數(shù)據(jù)。它對HDFS有特殊的優(yōu)化,并且集成了Hadoop的安全特性。所以,Cloudera 建議如果數(shù)據(jù)被多個系統(tǒng)消費的話,使用kafka;如果數(shù)據(jù)被設計給Hadoop使用,使用Flume。
正如你們所知Flume內(nèi)置很多的source和sink組件。然而,Kafka明顯有一個更小的生產(chǎn)消費者生態(tài)系統(tǒng),并且Kafka的社區(qū)支持不好。希望將來這種情況會得到改善,但是目前:使用Kafka意味著你準備好了編寫你自己的生產(chǎn)者和消費者代碼。如果已經(jīng)存在的Flume Sources和Sinks滿足你的需求,并且你更喜歡不需要任何開發(fā)的系統(tǒng),請使用Flume。
Flume可以使用攔截器實時處理數(shù)據(jù)。這些對數(shù)據(jù)屏蔽或者過量是很有用的。Kafka需要外部的流處理系統(tǒng)才能做到。
Kafka和Flume都是可靠的系統(tǒng),通過適當?shù)呐渲媚鼙WC零數(shù)據(jù)丟失。然而,F(xiàn)lume不支持副本事件。于是,如果Flume代理的一個節(jié)點奔潰了,即使使用了可靠的文件管道方式,你也將丟失這些事件直到你恢復這些磁盤。如果你需要一個高可靠行的管道,那么使用Kafka是個更好的選擇。
Flume和Kafka可以很好地結(jié)合起來使用。如果你的設計需要從Kafka到Hadoop的流數(shù)據(jù),使用Flume代理并配置Kafka的Source讀取數(shù)據(jù)也是可行的:你沒有必要實現(xiàn)自己的消費者。你可以直接利用Flume與HDFS及HBase的結(jié)合的所有好處。你可以使用Cloudera Manager對消費者的監(jiān)控,并且你甚至可以添加攔截器進行一些流處理。
Flume和Kafka可以結(jié)合起來使用。通常會使用Flume + Kafka的方式。其實如果為了利用Flume已有的寫HDFS功能,也可以使用Kafka + Flume的方式。
上述內(nèi)容就是采集層中Kafka與Flume該如何選擇,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。