采集目录到HDFS

  使用flume采集目录需要启动hdfs集群

  1. vi spool-hdfs.conf
  1. # Name the components on this agent
  2. a1.sources = r1
  3. a1.sinks = k1
  4. a1.channels = c1
  5.  
  6. # Describe/configure the source
  7. ##注意:不能往监控目中重复丢同名文件
  8. a1.sources.r1.type = spooldir
  9. a1.sources.r1.spoolDir = /root/logs2
  10. a1.sources.r1.fileHeader = true
  11.  
  12. # Describe the sink
  13. a1.sinks.k1.type = hdfs
  14. a1.sinks.k1.channel = c1
  15. a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/
  16. a1.sinks.k1.hdfs.filePrefix = events-
    #控制文件夹的滚动频率
  17. a1.sinks.k1.hdfs.round = true
  18. a1.sinks.k1.hdfs.roundValue = 10
  19. a1.sinks.k1.hdfs.roundUnit = minute
    #控制文件的滚动频率
  20. a1.sinks.k1.hdfs.rollInterval = 3 #时间维度
  21. a1.sinks.k1.hdfs.rollSize = 20  #文件大小维度
  22. a1.sinks.k1.hdfs.rollCount = 5  #event数量维度
  23. a1.sinks.k1.hdfs.batchSize = 1
  24. a1.sinks.k1.hdfs.useLocalTimeStamp = true
  25. #生成的文件类型,默认是Sequencefile,可用DataStream,则为普通文本
  26. a1.sinks.k1.hdfs.fileType = DataStream
  27.  
  28. # Use a channel which buffers events in memory
  29. a1.channels.c1.type = memory
  30. a1.channels.c1.capacity = 1000
  31. a1.channels.c1.transactionCapacity = 100
  32.  
  33. # Bind the source and sink to the channel
  34. a1.sources.r1.channels = c1
  35. a1.sinks.k1.channel = c1
  1. mkdir /root/logs2

    spooldir source 监控指定目录 如果目录下有新文件产生 就采集走

    • 注意!!! 此组件监控的目录不能有同名的文件产生 一旦有重名文件:报错 罢工

  启动命令:

  1. bin/flume-ng agent -c ./conf -f ./conf/spool-hdfs.conf -n a1 -Dflume.root.logger=INFO,console

采集文件到HDFS

  1. vi tail-hdfs.conf
  1. # Name the components on this agent
  2. a1.sources = r1
  3. a1.sinks = k1
  4. a1.channels = c1
  5.  
  6. # Describe/configure the source
  7. a1.sources.r1.type = exec
  8. a1.sources.r1.command = tail -F /root/logs/test.log
  9. a1.sources.r1.channels = c1
  10.  
  11. # Describe the sink
  12. a1.sinks.k1.type = hdfs
  13. a1.sinks.k1.channel = c1
  14. a1.sinks.k1.hdfs.path = /flume/tailout/%y-%m-%d/%H-%M/
  15. a1.sinks.k1.hdfs.filePrefix = events-
  16. a1.sinks.k1.hdfs.round = true
  17. a1.sinks.k1.hdfs.roundValue = 10
  18. a1.sinks.k1.hdfs.roundUnit = minute
  19. a1.sinks.k1.hdfs.rollInterval = 3
  20. a1.sinks.k1.hdfs.rollSize = 20
  21. a1.sinks.k1.hdfs.rollCount = 5
  22. a1.sinks.k1.hdfs.batchSize = 1
  23. a1.sinks.k1.hdfs.useLocalTimeStamp = true
  24. #生成的文件类型,默认是Sequencefile,可用DataStream,则为普通文本
  25. a1.sinks.k1.hdfs.fileType = DataStream
  26.  
  27. # Use a channel which buffers events in memory
  28. a1.channels.c1.type = memory
  29. a1.channels.c1.capacity = 1000
  30. a1.channels.c1.transactionCapacity = 100
  31.  
  32. # Bind the source and sink to the channel
  33. a1.sources.r1.channels = c1
  34. a1.sinks.k1.channel = c1
  1. mkdir /root/logs

启动命令

  1. bin/flume-ng agent -c conf -f conf/tail-hdfs.conf -n a1

exec source 可以执行一个shell命令 (tail -F sx.log) 实时采集文件数据变化

模拟数据生成的脚步:

  1. while true;do date >> /root/logs/test.log;sleep 0.5;done
  2.  
  3.  
  4. #!/bin/bash
  5.  
  6. while true
  7.  
  8. do
  9.  
  10. date >> /root/logs/test.log
  11.  
  12. sleep 1
  13.  
  14. done

Flume采集目录及文件到HDFS案例的更多相关文章

  1. 04_ Flume采集文件到HDFS案例

    采集需求:比如业务系统使用log4j生成的日志,日志内容不断增加,需要把追加到日志文件中的数据实时采集到hdfs 根据需求,首先定义以下3大要素 采集源,即source——监控文件内容更新 :  ex ...

  2. 带你看懂大数据采集引擎之Flume&采集目录中的日志

    一.Flume的介绍: Flume由Cloudera公司开发,是一种提供高可用.高可靠.分布式海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于采集数据:同时,flum ...

  3. Flume采集处理日志文件

    Flume简介 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据 ...

  4. Flume采集Nginx日志到HDFS

    下载apache-flume-1.7.0-bin.tar.gz,用 tar -zxvf 解压,在/etc/profile文件中增加设置: export FLUME_HOME=/opt/apache-f ...

  5. flume 增量上传日志文件到HDFS中

    1.采集日志文件时一个很常见的现象 采集需求:比如业务系统使用log4j生成日志,日志内容不断增加,需要把追加到日志文件中的数据实时采集到hdfs中. 1.1.根据需求,首先定义一下3大要素: 采集源 ...

  6. 大数据学习——采集目录到HDFS

    采集需求:某服务器的某特定目录下,会不断产生新的文件,每当有新文件出现,就需要把文件采集到HDFS中去 根据需求,首先定义以下3大要素 l  采集源,即source——监控文件目录 :  spoold ...

  7. 利用Flume采集IIS日志到HDFS

    1.下载flume 1.7 到官网上下载 flume 1.7版本 2.配置flume配置文件 刚开始的想法是从IIS--->Flume-->Hdfs 但在采集的时候一直报错,无法直接连接到 ...

  8. (未解决)flume监控目录,抓取文件内容推送给kafka,报错

    flume监控目录,抓取文件内容推送给kafka,报错: /export/datas/destFile/220104_YT1013_8c5f13f33c299316c6720cc51f94f7a0_2 ...

  9. day07 eclipse使用本地 库文件 访问HDFS

    常用命令 1. hdfs dfsadmin -report   查看系统的各台机器状态 HDFS的概念和特性 首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件 其次,它是分 ...

随机推荐

  1. Linux的inode的理解 ZZ

    文件名 -> inode -> device block 转自:http://www.ruanyifeng.com/blog/2011/12/inode.htmlhttp://blog.s ...

  2. Day03——Python函数

    函数定义和使用 1.语法 def 函数名(参数): ... 函数体 ... 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行 ...

  3. 【Leetcode】【Easy】Count and Say

    The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...

  4. C++中虚继承的作用及底层实现原理

    http://blog.csdn.net/bxw1992/article/details/77726390

  5. Python学习---远程执行命令

    原则:发送一个接受一个 原理:发送执行命令的大小给客户端,客户端根据接受的大小判断是否全部接收了服务器sendall()发送的全部 利用send发送的全部数据都是bytes类型的,需要进行字符编码的转 ...

  6. 【jQuery】jQuery中的事件捕获与事件冒泡

    在介绍之前,先说一下JavaScript中的事件流概念.事件流描述的是从页面中接受事件的顺序.   一.事件冒泡( Event Bubbling)            IE 的事件流叫做事件冒泡,即 ...

  7. np.arrange用法

    np.arange()经常用,其用法总结如下: np.arange(0,60,2) 生成从0到60的步距为2的数组,其中0为初始值,60为终值,2步距, np.arange(60) 生成从0到59的默 ...

  8. 使用ArcSDE SQL操作怎么获得新对象的objectid、GUID

    arcgis9.3.1 现在大家很喜欢使用ArcSDE的SQL操作,这种方式在特殊的环境要求下显得比较方便,那么使用SQL操作最多的是读和写,而写最多的就是新建一个对象,那么翻译成SQL语言就是使用i ...

  9. codeforces 814D An overnight dance in discotheque

    题目链接 正解:贪心. 首先我们可以计算出每个圆被多少个圆覆盖. 很显然,最外面的圆是肯定要加上的. 然后第二层的圆也是要加上的.那么第三层就不可能被加上了.同理,第四层的圆又一定会被加上. 然后我们 ...

  10. luogu P1522 Cow Tours

    嘟嘟嘟 题面挺绕的,“翻译”一下: 1.牧区是一个点,牧场是所有直接相连的点构成的联通块. 2.两个牧区之间的距离是这两个距离之间的最短路,只有直接相连的两个牧区之间的距离是欧几里得距离. 3.牧场的 ...