当前位置:   article > 正文

flume实验(数据采集与预处理课程,皆是本机操作)_flume实验报告

flume实验报告

avro 类型  固定的日志文件内容

spooling 类型  固定的日志目录的新增文件内容

exec 类型 自定义的、实时的(采集新增加的),去重的采集固定的日志文件的内容

syslog 类型 利用 tcp、udp通信协议,采集端自动采集端口日志 5140

netcat 类型 也是利用tcp、udp通信协议,自定义端口

avro端口,只接收来来自外部avro客户端的事件流(avro序列化后的数据)

监听固定的日志文件的内容

avro监听和收集指定端口的日志,使用avro的source需要说明被监听的主机ip和端口号

  channels: 接收客户数据源事件流的通道

  type: Avro,

  bind: 监听的主机名(master)或ip

  port: 监听的端口

  1. # avro.conf
  2. # 第一步:命名
  3. a1.sources=r1
  4. a1.sinks=k1
  5. a1.channels=c1
  6. # 第二步:设置各个类型属性
  7. # source属性
  8. a1.sources.r1.type=Avro
  9. a1.sources.r1.bind=master
  10. a1.sources.r1.port=4141
  11. # channel属性
  12. a1.channels.c1.type=memory
  13. a1.channels.c1.capacity=1000
  14. a1.channels.c1.transactionCapacity=100
  15. # sink属性
  16. a1.sinks.k1.type=logger
  17. # 第三步:关联
  18. a1.sources.r1.channels=c1
  19. a1.sinks.k1.channel=c1

服务端 

        flume-ng agent -n a1 -c conf -f /app/flumeconf/avro_mem_logger.conf -Dflume.root.logger=INFO,console

客户端

        flume-ng avro-client -c conf -H master -p 4141 -F /app/flume-1.8.0/flumedata/log.00

spooling-directory 对一个目录进行监控,新增一个文件就将文件的内容进行传输监控

允许将要收集的数据放置到指定的“搜集目录”中

监视该目录,并解析新出现的文件,(文件不能修改,重名)

  type:  spooldir

  spooldir: 指定搜索目录

  fileHeader: 指定采集过程中将数据源保存成文件来提高容错

  inputCharset: GBK 传输编码类型

  .COMPLETED: 对处理完成的文件追加的后缀

  1. # spool.conf
  2. # 命名agent a2的组件
  3. a2.sources=r2
  4. a2.channels=c2
  5. a2.sinks=k2
  6. # 描述/配置source
  7. a2.sources.r2.type=spooldir
  8. a2.sources.r2.spoolDir=/app/spool
  9. a2.sources.r2.fileHeader=true
  10. a2.sources.r2.inputCharset=GBK
  11. # 描述/配置sink
  12. a2.sinks.k2.type=logger
  13. # 描述/配置channel
  14. a2.channels.c2.type=memory
  15. a2.channels.c2.capacity=1000
  16. a2.channels.c2.transactionCapacity=100
  17. # 连接sources和sinks到channels
  18. a2.sources.r2.channels=c2
  19. a2.sinks.k2.channel=c2

服务端

        flume-ng agent -n a2 -c conf -f /app/flumeconf/spool.conf -Dflume.root.logger=INFO,console  .

exec 可以实现 实时的、高可靠的采集,利用exec来之定义日志采集

  type: exec

  command: tail -F /app/flume-1.8.0/flumedata/exec_log.01

  1. # exec.conf
  2. # 命名agent组件
  3. a3.sources=r3
  4. a3.sinks=k3
  5. a3.channels=c3
  6. # 描述/配置source
  7. a3.sources.r3.type=exec
  8. a3.sources.r3.command=tail -F /app/flume-1.8.0/flumedata/exec_log.01
  9. # 描述/配置sink
  10. a3.sinks.k3.type=logger
  11. # 内存channel配置
  12. a3.channels.c3.type=memory
  13. a3.channels.c3.capacity=1000
  14. a3.cahnnels.c3.transactionCapacity=100
  15. # 绑定sources和sinks到channel
  16. a3.sources.r3.channels=c3
  17. a3.sinks.k3.channel=c3

  服务端

        flume-ng agent -n a3 -c conf -f /app/flumeconf/exec_tail.conf -Dflume.root.logger=INFO,console

客户端

        将数据写入 exec_log.01文件即可

syslog 通过syslog协议读取系统日志,分为tcp和udp两种,使用时需指定ip和端口(5140)

  type: Syslogtcp

  port: 5140

  host: localhost等主机名或ip

  

  1. # 命名agent a4的组件
  2. a4.sources=r4
  3. a4.sinks=k4
  4. a4.channels=c4
  5. # 描述/配置sources
  6. a4.sources.r4.type=Syslogtcp
  7. a4.sources.r4.port=5140
  8. a4.sources.r4.host=localhost
  9. # 描述/配置内存sink
  10. a4.sinks.k4.type=logger
  11. # 描述/配置内存channel
  12. a4.channels.c4.type=memory
  13. a4.channels.c4.capacity=1000
  14. a4.channels.c4.transactionCapacity=100
  15. # 绑定source和sinks到channel
  16. a4.sources.r4.channels=c4
  17. a4.sinks.k4.channel=c4

服务端

        flume-ng agent -n a4 -c conf -f /app/flumeconf/syslog_tcp.conf -Dflume.root.logger=INFO,console

客户端

        利用 netcat 通信 (tcp协议)进行数据传输

        连接 服务端 nc localhost 5140   后 进行操作输入内容 服务端就可以接收到对应内容

netcat 利用tcp协议进行通信 自定义连接端口,

  type: netcat

  port: 端口号

  bind: 主机名或ip

  

  1. # Name the components on this agent
  2. a5.sources=r5
  3. a5.sinks=k5
  4. a5.channels=c5
  5. # 配置source
  6. a5.sources.r5.type=netcat
  7. a5.sources.r5.bind=localhost
  8. a5.sources.r5.port=44444
  9. # 配置sink
  10. a5.sinks.k5.type=logger
  11. # 配置channel
  12. a5.channels.c5.type=memory
  13. a5.channels.c5.capacity=1000
  14. a5.channels.c5.transactionCapacity=100
  15. # 连接sink source和channel
  16. a5.sources.r5.channels=c5
  17. a5.sinks.k5.channel=c5

服务端

        flume-ng agent -n a5 -c conf -f /app/flumeconf/net_flume_logger.conf -Dflume.root.logger=INFO,console

客户端

        连接对应的主机端口,进行通信

         nc localhost 44444

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/640246
推荐阅读
相关标签
  

闽ICP备14008679号