- Exec测试
- 在conf中创建agent配置文件(最好专门建个文件夹装它)
添加以下内容:
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /home/hadoop01/log_exec_tail //指定存储目录
# Describe the sink
a1.sinks.k1.type =hdfs
储存在hdfs上
a1.sinks.k1.hdfs.path=/flume/events/%y-%m-%d/%H%M
指定hdfs上的存储目录
a1.sinks.k1.hdfs.filePrefix=events-
文件前缀
a1.sinks.k1.hdfs.round=true
是否滚动
a1.sinks.k1.hdfs.roundValue=10
a1.sinks.k1.roundUnit=minute
10分钟写一个目录
注意:这里滚动的是文件夹
a1.sinks.k1.hdfs.rollInterval=3
三秒滚动文件一次
a1.sinks.k1.hdfs.rollSize=20
20个字节滚动一次
a1.sinks.k1.hdfs.rollCount=5
5个时间滚动一次
a1.sinks.k1.hdfs.batchSize=1
1个事件缓存一次
a1.sinks.k1.hdfs.useLocalTimeStamp=true
取本地时间
a1.sinks.k1.hdfs.fileType=dataStream
生成文件的类型
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
配置好之后 在home里建个文件 写入死循环 模拟数据不断流入
[root@hadoop01 hadoop01]# cat log_exec_tail.log
[root@hadoop01 hadoop01]# while true
> do
> echo wxStar >> /home/hadoop01/log_exec_tail.log
> sleep 2.5
> done
- 启动flume agent a1
bin/flume-ng agent -c conf/ -f agentConf/exec-logger.conf -n a1
可以在浏览器端口中观察到hdfs上多出一个flume文件夹 里面是监听到的信息