flume常用组件

发布时间:2023-05-16 09:26:04

  Flume组件1. Source

  NetCat Source:绑定的端口(tcp、udp),Event输入流经端口的每个文本行数据;

  type:source的类型必须是netcat。

  bind:监控(本机)主机名称或IP。此监控不是过滤器发送器。计算机并不意味着只有一个IP。有多个网卡的计算机对应于多个IP。

  port:绑定本地端口。

  Avro Source:监控avro服务端口,收集avro数据序列化后的数据;

  type:avrosource的类型必须是avro。

  bind:监控(本机)主机名称或IP。此监控不是过滤器发送器。计算机并不意味着只有一个IP。有多个网卡的计算机对应于多个IP。

  port:绑定本地端口。

  Exec Source:在Unixcommand的标准输出中收集数据;

  type:source类型:必须是exec。

  command:执行命令。2. sink

  HDFS Sink:将数据传输到hdfs集群。

  type:sink的类型 必须是hdfs。

  hdfs.path:hdfs上传路径。

  hdfs.filePrefix:hdfs文件的前缀。默认为:FlumeData

  hdfs.rollInterval:间隔产生新文件需要多长时间?默认为:30(秒) 0表示不以时间间隔为准。

  hdfs.rollSize:默认情况下,1024年将生成一份新文件。(bytes)0表示不以文件大小为准。

  hdfs.rollCount:默认情况下,10(个)0表示event的数量不以event的数量为准。

  hdfs.batchSize:每次向hdfs提交多少event,默认为100

  hdfs.fileType:hdfs文件的格式主要包括:SequenceFile, DataStream ,CompressedStream,如果使用Compresedstream,则应设置压缩方法。

  hdfs.codeC:压缩方式:gzip, bzip2, lzo, lzop, snappy

  注:%{host}可使用headerkey。还有%Y%m%d来表示时间,但是关于时间的表示需要在header中有timestampkey。

  Logger Sink将数据作为日志处理(根据flume中设置的日志显示)

  在操作agent时添加控制台显示:-Dflume.root.logger=INFO,console 。

  type:sink类型:必须是 logger。

  maxBytesToLog:打印body最长字节数 默认为16

  Avro Sink:将数据转换为Avroo Event,然后发送到指定的服务端口。

  type:sink类型:必须是 avro。

  hostname:指定发送数据的主机名或ip

  port:指定发送数据的端口3. channel

  Memory Channel使用内存作为数据存储。

  Type channel类型:必须是memory

  capacity:channel中最大的event数量

  transactionCapacity:在channel中允许事务的最大event数量

  File Channel 使用文件作为存储数据的数据

  Type channel的类型:必须是 file

  checkpointDir :检查点的数据存储目录

  dataDirs :数据存储目录

  transactionCapacity:在channel中允许事务的最大event数量

  Spillable Memory Channel 使用内存作为channel超过阀值存在于文件中

  Type chanel类型:SPILABLEMEMORY必须是

  memoryCapacity:内存容量event数

  overflowCapacity:event阀值存储在文件中的数据

  checkpointDir:检查点的数据存储目录

  dataDirs:数据存储目录4. Interceptor

  Timestamp Interceptor 时间戳拦截器 在header中加入key作为timestamp,value作为当前时间。

  type:拦截器的类型必须是timestamp

  preserveExisting:如果这个拦截器增加的key已经存在,如果该值设置为true,则保持原始值,否则将覆盖原始值。默认为false

  Host Interceptor 在header中添加ip或主机名称或ip拦截器

  type:拦截器的类型必须是host

  preserveExisting:如果这个拦截器增加的key已经存在,如果该值设置为true,则保持原始值,否则将覆盖原始值。默认为false

  useIP:如果设置为true,则使用ip地址,否则使用主机名,默认为true

  hostHeader:使用header的key名称默认为hostt

  Static Interceptor 静态拦截器是在header中加入固定key和value。

  type:avrosource的类型必须是static。

  preserveExisting:如果这个拦截器增加的key已经存在,如果该值设置为true,则保持原始值,否则将覆盖原始值。默认为false

  key:添加到静态拦截器中的key名称

  value:添加到静态拦截器中的key对应的value值5. Channel Selector

  Multiplexing Channel Selector chanel根据header的key值分配

  selector.type 默认为replicating

  selector.header:选择key作为判断

  selector.default:channnel配置默认

  selector.mapping.*:配置匹配channel的配置

上一篇 Maven使用笔记
下一篇 javaswing如何给文本框赋值 java文本框设置字体

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题