Flume实战采集文件内容存入HDFS

1、flume安装目录下新建文件夹 example 

2、在example下新建文件 

log-hdfs.conf

内容如下:

[plain]  view plain  copy
  1. # Name the components on this agent  
  2. a1.sources = r1  
  3. a1.sinks = k1  
  4. a1.channels = c1  
  5.   
  6. #exec 指的是命令  
  7. # Describe/configure the source  
  8. a1.sources.r1.type = exec  
  9. #F根据文件名追中, f根据文件的nodeid追中  
  10. a1.sources.r1.command = tail -F /home/hadoop/testdata/testflume.log  
  11. a1.sources.r1.channels = c1  
  12.   
  13. # Describe the sink  
  14. #下沉目标  
  15. a1.sinks.k1.type = hdfs  
  16. a1.sinks.k1.channel = c1  
  17. #指定目录, flum帮做目的替换  
  18. a1.sinks.k1.hdfs.path = /flume/events/%y-%m-%d/%H%M/  
  19. #文件的命名, 前缀  
  20. a1.sinks.k1.hdfs.filePrefix = events-  
  21.   
  22. #10 分钟就改目录(创建目录), (这些参数影响/flume/events/%y-%m-%d/%H%M/)  
  23. a1.sinks.k1.hdfs.round = true  
  24. a1.sinks.k1.hdfs.roundValue = 10  
  25. a1.sinks.k1.hdfs.roundUnit = minute  
  26. #目录里面有文件  
  27. #------start----两个条件,只要符合其中一个就满足---  
  28. #文件滚动之前的等待时间(秒)  
  29. a1.sinks.k1.hdfs.rollInterval = 3  
  30. #文件滚动的大小限制(bytes)  
  31. a1.sinks.k1.hdfs.rollSize = 500  
  32. #写入多少个event数据后滚动文件(事件个数)  
  33. a1.sinks.k1.hdfs.rollCount = 20  
  34. #-------end-----  
  35.   
  36. #5个事件就往里面写入  
  37. a1.sinks.k1.hdfs.batchSize = 5  
  38.   
  39. #用本地时间格式化目录  
  40. a1.sinks.k1.hdfs.useLocalTimeStamp = true  
  41.   
  42. #下沉后, 生成的文件类型,默认是Sequencefile,可用DataStream,则为普通文本  
  43. a1.sinks.k1.hdfs.fileType = DataStream  
  44.   
  45. # Use a channel which buffers events in memory  
  46. a1.channels.c1.type = memory  
  47. a1.channels.c1.capacity = 1000  
  48. a1.channels.c1.transactionCapacity = 100  
  49.   
  50. # Bind the source and sink to the channel  
  51. a1.sources.r1.channels = c1  
  52. a1.sinks.k1.channel = c1  

3、shell命令不断写数据到文件

[hadoop@nbdo3 testdata]$ while true; do echo "hello ningbo do" >> testflume.log ; sleep 0.5; done


4、在新窗口用tail 命令查看到 testflume.log文件内容不断增加

[hadoop@nbdo3 testdata]$ tail -f testflume.log 
hello ningbo do
hello ningbo do
hello ningbo do
hello ningbo do
hello ningbo do
hello ningbo do
hello ningbo do
hello ningbo do
hello ningbo do
hello ningbo do


5、启动hadoop


6、启动flume

flume-ng agent -c ../conf -flog-hdfs.conf  -n a1 -Dflume.root.logger=INFO,console



7、浏览器进入hadoop管理界面。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值