|NO.Z.00041|——————————|BigDataEnd|——|Hadoop&Flume.V04|——|Flume.v04|Flume.v1.9部署.v02|
一、基础应用
### --- 基础应用
~~~ Flume 支持的数据源种类有很多,可以来自directory、http、kafka等。
~~~ Flume提供了Source组件用来采集数据源。
二、常见的 Source 有:
### --- avro source:
~~~ 监听 Avro 端口来接收外部 avro 客户端的事件流。
~~~ avro-source接收到的是经过avro序列化后的数据,然后反序列化数据继续传输。
~~~ 如果是avrosource的话,源数据必须是经过avro序列化后的数据。
~~~ 利用 Avro source可以实现多级流动、扇出流、扇入流等效果。
~~~ 接收通过flume提供的avro客户端发送的日志信息。
~~~ Avro是Hadoop的一个数据序列化系统,
~~~ 由Hadoop的创始人Doug Cutting(也是Lucene,Nutch等项目的创始人)开发,
~~~ # 设计用于支持大批量数据交换的应用。它的主要特点有:
~~~ 支持二进制序列化方式,可以便捷,快速地处理大量数据;
~~~ 动态语言友好,Avro提供的机制使动态语言可以方便地处理Avro数据;

### --- exec source:可以将命令产生的输出作为source。如ping
192.168.234.163、tail -f hive.log。
~~~ # netcat source:
~~~ 一个NetCat Source用来监听一个指定端口,并接收监听到的数据。
~~~ # spooling directory source:
~~~ 将指定的文件加入到“自动搜集”目录中。flume会持续监听这个目录,
~~~ 把文件当做source来处理。注意:一旦文件被放到目录中后,便不能修改,如果修改,
~~~ flume会报错。此外,也不能有重名的文件。
~~~ # Taildir Source(1.7):
~~~ 监控指定的多个文件,一旦文件内有新写入的数据,就会将其写入到指定的sink内,
~~~ 本来源可靠性高,不会丢失数据。其不会对于跟踪的文件有任何处理,
~~~ 不会重命名也不会删除,不会做任何修改。目前不支持Windows系统,
~~~ 不支持读取二进制文件,支持一行一行的读取文本文件。
~~~ 采集到的日志需要进行缓存,Flume提供了Channel组件用来缓存数据。常见的Channel 有:
~~~ # memory channel:缓存到内存中(最常用)
~~~ # file channel:缓存到文件中
~~~ # JDBC channel:通过JDBC缓存到关系型数据库中
~~~ # kafka channel:缓存到kafka中
### --- 缓存的数据最终需要进行保存,Flume提供了Sink组件用来保存数据。常见的 Sink有:
~~~ 日志采集就是根据业务需求选择合适的Source、Channel、Sink,并将其组合在一起
~~~ logger sink:将信息显示在标准输出上,主要用于测试
~~~ avro sink:Flume events发送到sink,转换为Avro events,并发送到配置好的hostname/port。从配置好的channel按照配置好的批量大小批量获取events
~~~ null sink:将接收到events全部丢弃
~~~ HDFS sink:将 events 写进HDFS。支持创建文本和序列文件,支持两种文件类型压缩。文件可以基于数据的经过时间、大小、事件的数量周期性地滚动
~~~ Hive sink:该sink streams 将包含分割文本或者JSON数据的events直接传送到Hive表或分区中。使用Hive 事务写events。当一系列events提交到Hive时,它们马上可以被Hive查询到
~~~ HBase sink:保存到HBase中
~~~ kafka sink:保存到kafka中
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?