欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

ApacheFlume是什么

這篇文章主要講解了“Apache Flume是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Apache Flume是什么”吧!

超過十年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,微信小程序定制開發(fā),微信開發(fā),App定制開發(fā),同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!

Flume是為高效收集聚合大量日志數(shù)據(jù)設(shè)計(jì)的可靠的、可用的分布式系統(tǒng)。它有一個(gè)基于流式數(shù)據(jù)流的簡單靈活的體系。它提供了可控的可靠機(jī)制和許多故障轉(zhuǎn)移與恢復(fù)機(jī)制。它使用了一個(gè)用于在線分析應(yīng)用的簡單可擴(kuò)展的數(shù)據(jù)模型。

FileChannel是一個(gè)持久化的Flume channel,支持并行的寫到多個(gè)磁盤并且支持加密。

概念

        當(dāng)使用Flume時(shí),每個(gè)流程都有一個(gè)Source、Channel、Sink。一個(gè)典型的例子是一個(gè)webserver通過RPC(比如:AvroSource)將events寫到一個(gè)Source、然后Source將events寫到MemoryChannel,最后HDFSSink消費(fèi)event,將它寫到HDFS。

       MemoryChannel能提供很高的吞吐量,但是當(dāng)系統(tǒng)斷電或程序崩潰時(shí)會丟失數(shù)據(jù)。因此人們急需一個(gè)能持久化的Channel。FileChannel在FLUME-1085被實(shí)現(xiàn)。它的目標(biāo)是提供一個(gè)可靠的高吞吐量的Channel。FileChannel保證當(dāng)斷電或崩潰發(fā)生時(shí),事務(wù)被提交,沒有數(shù)據(jù)丟失。

       重要的一點(diǎn)是FileChannel不做任何數(shù)據(jù)的復(fù)制,僅依賴于底層磁盤的可靠性,因此,由于持久性需要使用FileChannel的用戶在購買和配置硬件時(shí)注意這一點(diǎn)。底層的磁盤將要做RAID、SAN或類似的東西。

       許多系統(tǒng)為了高的吞吐率需要拿允許小量數(shù)據(jù)丟失做交換。Flume組決定FileChannel采用不同的方式。Flume是一個(gè)支持事務(wù)的系統(tǒng),多個(gè)event可以在單個(gè)事務(wù)中被put或take。batch size用來控制吞吐率。使用大的batch size,flume可以以高吞吐率移動數(shù)據(jù),并且不丟失數(shù)據(jù)。batch size完全可以通過client控制。這個(gè)方法與DBMS

相似。

       一個(gè)flume事務(wù)包含put或take,一個(gè)事務(wù)中不能同時(shí)有put和take操作。每個(gè)事務(wù)都要實(shí)現(xiàn)put和take方法。source通過put將event放入channel,sink通過take將event從channel拿走。

設(shè)計(jì)

       FileChannel是基于內(nèi)存隊(duì)列和WAL設(shè)計(jì)的。每次事務(wù)都是根據(jù)事物類型(Take和Put)寫到WAL,隊(duì)列也做相應(yīng)的修改。每次事務(wù)被commited,都會調(diào)用fsync確保events被存儲在磁盤文件,同時(shí)指向該event的指針被放到隊(duì)列中。這里的隊(duì)列服務(wù)就像其他隊(duì)列一樣:它管理著什么被sink消費(fèi)。在Take期間,該event的指針從隊(duì)列被刪除。直接從WAL讀這個(gè)event。由于今天我們有大量可用的RAM,從操作系統(tǒng)的文件緩存中讀取也是經(jīng)常發(fā)生的。

       崩潰后,通過重放WALs,隊(duì)列位置能恢復(fù)到崩潰前同樣的狀態(tài),而那些沒有commited的事務(wù)被丟棄。重放WALs相當(dāng)耗時(shí),因此隊(duì)列本身會周期性的寫到磁盤。將隊(duì)列寫到磁盤稱為checkpoint。這樣,崩潰后,隊(duì)列首先從磁盤checkpoint文件加載,然后僅僅重放那些隊(duì)列被最后一次checkpoint到磁盤后commited的事務(wù),這樣明顯的減少了讀取WAL的數(shù)量。

       例如,一個(gè)channel有2個(gè)event,如下所示:

        Apache Flume是什么

       

       WALs包含3個(gè)重要的屬性:事務(wù)ID、序列號、event數(shù)據(jù)。每個(gè)事務(wù)都有唯一的事務(wù)Id,并且每個(gè)event都有唯一的序列號。事務(wù)Id被用來簡單的將event分組到同一事務(wù),而序列號在重放log時(shí)使用。上圖中,事務(wù)ID為1,序列號為1,2,3.

       當(dāng)隊(duì)列被checkpoint到磁盤,增加序列號,同時(shí)序列號也被保存到磁盤。重啟時(shí),隊(duì)列首先從磁盤加載,然后比隊(duì)列序列號大的任何WAL實(shí)體被重放。checkpoin操作期間,隊(duì)列是locked,以至于沒有Put或Take操作可以更改它的狀態(tài)。如果checkpoint期間允許隊(duì)列的修改,將導(dǎo)致磁盤存儲的隊(duì)列快照與實(shí)際隊(duì)列不一致。

       在上面例子中,事務(wù)1commited后,checkpoint發(fā)生,在隊(duì)列中的結(jié)果帶著events被保存到磁盤還有序列號4也被保存。

       之后,在事務(wù)2中,從隊(duì)列take一個(gè)event:

          Apache Flume是什么

        
        如果這個(gè)時(shí)候崩潰了,重啟時(shí)隊(duì)列從checkpoint加載,注意,checkpoint發(fā)生在事務(wù)2前,2個(gè)event“a”和“b”都會被加載到隊(duì)列,之后任何比4大的已經(jīng)確認(rèn)的事務(wù)被重放,重放后,“a”event從隊(duì)列被刪除。
       上面的設(shè)計(jì)2點(diǎn)沒有考慮到,Take或Put進(jìn)行中,同時(shí)發(fā)生checkpoint,會導(dǎo)致數(shù)據(jù)丟失。假定checkpoint發(fā)生在take“a”之后:
         Apache Flume是什么
        如果此時(shí)崩潰,在以上描述的設(shè)計(jì)下,event“b”被加載進(jìn)入隊(duì)列,之后重放比5大的任何WAL實(shí)體,事務(wù)2被rollback,但是這里的take “a”不會被重放。event “a”被丟失,Put也存在相似的情況。由于這個(gè)原因,當(dāng)隊(duì)列的checkpoint發(fā)生時(shí),仍然在處理中的事務(wù)也被寫出,以至于可以適當(dāng)?shù)奶幚磉@個(gè)問題。
       


實(shí)現(xiàn)

       FileChannel在Flume項(xiàng)目的flume-file-channel模塊,對應(yīng)包名為org.apache.flume.channel.file。上面描述的隊(duì)列對應(yīng) FlumeEventQueue類,WAL對應(yīng) Log類。隊(duì)列本身是一個(gè)環(huán)形數(shù)組,通過內(nèi)存映射文件支撐;而WAL對應(yīng)一組文件,可以使用 LogFile類和它的子類讀寫這些文件。

感謝各位的閱讀,以上就是“Apache Flume是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Apache Flume是什么這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)頁名稱:ApacheFlume是什么
轉(zhuǎn)載來源:http://aaarwkj.com/article4/jjgdoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、用戶體驗(yàn)網(wǎng)站維護(hù)、網(wǎng)站改版網(wǎng)頁設(shè)計(jì)公司、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
啄木乌欧美一区二区三| 久久精品国产亚洲av品| 色综合久久天天射天天干| 午夜精品久久福利视频| 国产亚洲欧美精品久久久久| 国一区二区三区四区av| 日韩精品人妻一区二区三区免费| 亚洲精品一区二区免费看| 国产一级二级三级亚洲| 午夜在线精品福利视频| 免费特黄特黄的欧美大片| 丰满人妻熟妇乱精品视频| 欧美日韩国产激情另类| 五月婷婷av综合激情| av在线免费观看美日韩| 亚洲精品一区二区三区网站| 国产日韩久久免费电影| 国产精品播放一区二区三区| 亚洲高清成人在线观看| 国产女主播在线观看视频| 91伊人激情综合久久| 在线中文字幕日韩有码| 国产自愉怕一区二区三区| 国产av一区二区三区日韩接吻| 日本午夜一区二区在线观看| 日韩精品中文字幕有码| 久久最新最热视频精品| 久久热久久热在线视频| av永久天堂一区二区三区| 宅男午夜一区二区三区| 亚洲一区二区三区日韩欧美| 人妻少妇精品视频二区| 九九热超在线视频精品| 日韩黄片一区二区三区| 亚洲综合偷拍欧美一区日韩| 久久久国产精品调教网站| av熟妇人妻一区二区三区| 日韩一区二区亚洲精品| 国产成十人十综合十亚洲| 免费亚洲网站在线观看视频| 久久精人妻一区二区三区|