日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Flume

更新時(shí)間: 2024-12-12 18:25:25

Apache Flume是一個(gè)分布式、可靠和高可用的系統(tǒng),可以從大量不同的數(shù)據(jù)源有效地收集、聚合和移動(dòng)日志數(shù)據(jù),從而集中式的存儲(chǔ)數(shù)據(jù)。

使用場(chǎng)景

Flume使用最多的場(chǎng)景是日志收集,也可以通過定制Source來傳輸其他不同類型的數(shù)據(jù)。

Flume最終會(huì)將數(shù)據(jù)落地到實(shí)時(shí)計(jì)算平臺(tái)(例如Flink、Spark Streaming和Storm)、離線計(jì)算平臺(tái)上(例如MR、Hive和Presto),也可僅落地到數(shù)據(jù)存儲(chǔ)系統(tǒng)中(例如HDFS、OSS、Kafka和Elasticsearch),為后續(xù)分析數(shù)據(jù)和清洗數(shù)據(jù)做準(zhǔn)備。flume2

架構(gòu)

Flume Agent是一個(gè)Flume的實(shí)例,本質(zhì)是一個(gè)JVM進(jìn)程,控制Event數(shù)據(jù)流從生產(chǎn)者傳輸?shù)较M(fèi)者。一個(gè)Flume Agent由Source、Channel、Sink組成。其中,Source和Channel可以是一對(duì)多的關(guān)系,Channel和Sink也可以是一對(duì)多的關(guān)系。flume

基本概念

名稱

描述

Event

是數(shù)據(jù)流通過Flume Agent的基本單位。Event由一個(gè)可選的Header字典和一個(gè)裝載數(shù)據(jù)的字節(jié)數(shù)組組成。

示例如下。

--------------------------------
| Header (Map) | Body (byte[]) |
--------------------------------
               Flume Event

Source

是數(shù)據(jù)源收集器,從外部數(shù)據(jù)源收集數(shù)據(jù),并批量發(fā)送到一個(gè)或多個(gè)Channel中。

常見Source如下:

  • Avro Source:通過監(jiān)聽Avro端口獲取Avro Client發(fā)送的事件。Avro是Hadoop提供的一種協(xié)議,用于數(shù)據(jù)序列化。

  • Exec Source:通過監(jiān)聽命令行輸出獲取數(shù)據(jù),例如tail -f /var/log/messages

  • NetCat TCP Source:監(jiān)聽指定TCP端口獲取數(shù)據(jù),與Netcat UDP Source類似。

  • Taildir Source:監(jiān)控目錄下的多個(gè)文件,記錄偏移量,并且不會(huì)丟失數(shù)據(jù),較為常用。

Channel

是Source和Sink之間的緩沖隊(duì)列。

常見Channel如下:

  • Memory Channel:緩存到內(nèi)存中,性能高,較為常用。

  • File Channel:緩存到文件中,會(huì)記錄Checkpoint和DATA文件,可靠性高,但性能較差。

  • JDBC Channel:緩存到關(guān)系型數(shù)據(jù)庫(kù)中。

  • Kafka Channel:通過Kafka來緩存數(shù)據(jù)。

Sink

從Channel中獲取Event,并將以事務(wù)的形式Commit到外部存儲(chǔ)中。一旦事務(wù)Commit成功,該Event會(huì)從Channel中移除。

常見Sink如下:

  • Logger Sink:用于測(cè)試。

  • Avro Sink:轉(zhuǎn)換成Avro Event,主要用于連接多個(gè)Flume Agent。

  • HDFS Sink:寫入HDFS,較為常用。

  • Hive Sink:寫入Hive表或分區(qū),使用Hive事務(wù)寫Events。

  • Kafka Sink:寫入Kafka。

上一篇: Hive連接器 下一篇: 概述
阿里云首頁 開源大數(shù)據(jù)平臺(tái) E-MapReduce 相關(guān)技術(shù)圈