[关闭]
@zhangyy 2018-04-12T14:22:39.000000Z 字数 1596 阅读 167

flume 监控目录操作

协作框架


  • flume 监控目录操作

一:flume 监控目录操作

文件需求:

  1. 监控某个目录,若目录下面产生成符合条件的文件,flume 就抽取它到hdfs 上,目录 下可能有多中文件,比如当文件以log.tmp 结尾表示正在写,对log.tmp 文件设置size 值,就会变成一个以.log 结尾,则已经是完整文件(往往存在短暂),flume 可以抽取其中的数据,以log.completed 结尾则表示flume已经抽取完成,可以删除。

1.1 创建目录,用于提取数据

  1. mkdir /home/hadoop/datas/spooling
  2. mkdir /home/hadoop/datas/checkpoint
  3. mkdir /home/hadoop/datas/data

1.2 在hdfs 目录上创建存放抽取的数据

  1. hdfs dfs -mkdir /spool

1.3 准备数据,三个以上,两种类型

  1. cd /home/hadoop/datas/spooling/
  2. touch xx.log
  3. touch yy.log
  4. touch zz.log.tmp

1.4 准备agent 配置文件

  1. cp -p hive-conf.properties test-dir.properties

vim test-dir.properties

  1. # example.conf: A single-node Flume configuration
  2. # Name the components on this agent
  3. a3.sources = r3
  4. a3.sinks = k3
  5. a3.channels = c3
  6. # Describe/configure the source
  7. a3.sources.r3.type = spooldir
  8. a3.sources.r3.spoolDir = /home/hadoop/datas/spooling
  9. a3.sources.r3.ignorePattern = ^(.)*\\.tmp$
  10. # Describe the sink
  11. a3.sinks.k3.type = hdfs
  12. a3.sinks.k3.hdfs.path = hdfs://namenode01.hadoop.com:8020/spool/%Y%m/%d
  13. a3.sinks.k3.hdfs.fileType = DataStream
  14. a3.sinks.k3.hdfs.writeFormat = Text
  15. a3.sinks.k3.hdfs.batchSize = 10
  16. # 设置二级目录按小时切割
  17. a3.sinks.k3.hdfs.round = true
  18. a3.sinks.k3.hdfs.roundValue = 1
  19. a3.sinks.k3.hdfs.roundUnit = hour
  20. # 设置文件回滚条件
  21. a3.sinks.k3.hdfs.rollInterval = 60
  22. a3.sinks.k3.hdfs.rollsize = 128000000
  23. a3.sinks.k3.hdfs.rollCount = 0
  24. a3.sinks.k3.hdfs.useLocalTimeStamp = true
  25. a3.sinks.k3.hdfs.minBlockReplicas = 1
  26. # Use a channel which buffers events in memory
  27. a3.channels.c3.type = file
  28. a3.channels.c3.checkpointDir = /home/hadoop/datas/checkpoint
  29. a3.channels.c3.dataDirs = /home/hadoop/datas/data
  30. # Bind the source and sink to the channel
  31. a3.sources.r3.channels = c3
  32. a3.sinks.k3.channel = c3

1.5 执行收集命令:

  1. bin/flume-ng agent --conf conf --conf-file conf/test-dir.properties --name a3

创建文件测试。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注