Flume
2023-06-07 13:56:26   0  举报             
     
         
 AI智能生成
  Flume
    作者其他创作
 大纲/内容
  进阶    
     Flume事务    
     put事务    
     source采集数据,开启事务  
     doput方法将事件,装载到putList里面  
     docommit方法,提交事务,检测channel是否具有足够的空间存放事件  
     有    
     put    
     开启新的传输事务  
     没有    
     抛异常    
     source捕获异常    
     上游数据源    
     支持回溯    
     从新传输    
     数据不会丢失  
     不支持回溯    
     传输新的数据    
     数据会丢失  
     事务回滚    
     putList清空  
     take事务    
     Sink 获取channel对象,由channel对象获取事务,  
     开启事务, 不断轮询channel获取新的事件  
     dotake 把事件装在到takeList当中  
     docommit提交事务  
     Sink将数据向外部系统写出  
     外部系统    
     支持事务机制    
     不会产生数据的重复  
     不支持数据    
     会产生数据的重复  
     内部原理    
     channel Seletor    
     复制和多路复用    
     Replicating channel Selector    
     复制  
     Multiplexing channel Selector    
     多路复用  
     SinkProcessor    
     故障转移和负载均衡    
     DefaultSinkProcessor    
     只支持一个Sink  
     LoadbalanceSinkProcessor    
     负载均衡  
     failoverSinkProcessor    
     故障转移  
     定义    
     基本定义:    
     海量日志的采集框架  
     特性    
     高可用  
     高可靠  
     分布式  
     功能    
     采集  
     聚合  
     传输  
     架构    
     架构图  
     Agent    
     是flume的部署单元  
     JVM进程  
     Source、channel、Sink  
     Source    
     功能    
     采集数据到flume内部  
     包装数据为Event  
     将数据put到channel  
     获取channelprocessor对象,由channelprocessor对象开启事务  
     类型    
     avro Source    
     多用于构成复杂flume拓扑结构  
     配合avro Sink使用  
     exec Source    
     可执行Unix命令  
     配合tail -F  /test.log命令,可实现对一个可追加文件进行实时采集  
     spoolDir Source    
     采集目录下的多个新文件  
     一定时间间隔,遍历目录,获取新文件  
     对于新文件,读取内容,进行传输,并重命名源文件,添加尾缀,与新文件进行区分。  
     netcat Source    
     本质是linx下的端口相关的工具  
     采集端口数据  
     TAILDIR  Source    
     采集多个目录下多个可追加文件  
     断点续传  
     json文件存储可追加文件的数据更新位置  
     Sink    
     功能    
     Sink不断的轮询channel当中的事件,并批量的移除他们  
     Sink获取channel对象后,根据channel对象获得的事务对象  
     sink将采集来的数据,传输到指定的外部系统  
     hdfs  Sink    
     向HDFS分布式文件系统传输数据  
     logger Sink    
     用于测试环境  
     将事件中的数据,包装为flume框架的日志,再配合参数 -Dflume.root.logger=INFO,console,就可以将数据数据到控制台  
     avro Sink    
     配合avro  Source实现Agent连接  
     file Sink  
     HBase Sink  
     Channel    
     功能    
     位于Source合Sink之间的一个缓冲区  
     可以使得Source和Sink两个线程运行在不同的速率之上  
     线程安全的,可以支持多个Source的写入和多个Sink的读取  
     类型    
     memory Channel    
     快  
     不安全  
     file Channel    
     安全  
     慢  
    
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
  
  
 