Flume案例

需求:定义一个采集文件夹的数据并存放到HDFS上的Flume
分析:
Source spooldir
Channel file
Sink HDFS

#agent1表示代理名称,一台服务器上的代理名称最好不同
agent1.sources=source1                                           #source的名称为source1
agent1.sinks=sink1                                               #sink的名称为sink1
agent1.channels=channel1                                         #channel的名称为channel1
 
#配置source1
agent1.sources.source1.type=spooldir                                                #spooldir表示监控的是本地的一个目录
agent1.sources.source1.spoolDir=/opt/data/flume_data/flume_source_monitor           #监控的目录路径

#配置sink1
agent1.sinks.sink1.type=hdfs                                                    #采集到的数据会sink到hdfs中
agent1.sinks.sink1.hdfs.path=hdfs://hadoop001:9000/flume_sink_data              #数据在hdfs上的保存路径
agent1.sinks.sink1.hdfs.fileType=DataStream                                     #sink的文件类型
agent1.sinks.sink1.hdfs.writeFormat=TEXT                                        #输出格式
 
#配置channel1
agent1.channels.channel1.type=file                                                   #channel中的数据保存在文件中
agent1.channels.channel1.checkpointDir=/opt/apps/flume_data/flume_checkpoint_dir     #channel数据检查点目录
agent1.channels.channel1.dataDirs=/opt/apps/flume_data/flume_channel_data            #channel数据保存目录

 #定义组件之间的连接
 agent1.sources.source1.channels=channel1                                            #采集到的数据放到哪一个channel中去
 agent1.sinks.sink1.channel=channel1                                                 #sink的数据来源为channel1
 
启动flume命令:

flume-ng agent \
--name agent1 \     #agent名字
--conf-file /home/hadoop/app/flume/flume_conf/nc-m-l.conf \     #指定conf文件在哪
--conf $FLUME_HOME/conf \      #指定Flume配置文件
-Dflume.root.logger=INFO,console     #指定的日志级别

需求:定义一个采集文件夹跟文件的数据并存放到HDFS上的Flume,要求数据准确性
分析:
Source taildir
Channel memory
Sink HDFS

#配置agent
taildir-hdfs-agent.sources = taildir-source
taildir-hdfs-agent.channels = taildir-memory-channel
taildir-hdfs-agent.sinks = hdfs-sink

#配置source
taildir-hdfs-agent.sources.taildir-source.type = TAILDIR
taildir-hdfs-agent.sources.taildir-source.filegroups = f1 f2
taildir-hdfs-agent.sources.taildir-source.filegroups.f1 = /home/hadoop/logs/access.log
taildir-hdfs-agent.sources.taildir-source.filegroups.f2 = /home/hadoop/data/test2/


#配置channel 
taildir-hdfs-agent.channels.taildir-memory-channel.type = memory

#配置sink 
taildir-hdfs-agent.sinks.hdfs-sink.type = hdfs
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.path = hdfs://hadoop001:9000/ruoze/flume/nginx/%Y%m%d
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.fileType = CompressedStream    #定义输出文件为压缩
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.codeC = gzip                    #指定文件压缩类型
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.batchSize = 10           #一次处理event的数量
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.writeFormat = Text      #写sequence 文件的格式
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.filePrefix = page-views    #写入hdfs的文件名前缀
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.rollInterval = 30000    #hdfs sink间隔多长将临时文件滚动成最终目标文件
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.rollCount = 0     #当events数据达到该数量时候,将临时文件滚动成目标文件
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.rollSize = 100000000   # 当临时文件达到该大小(单位:bytes)时,滚动成目标文件
#用来设置HDFS文件夹滚动
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.useLocalTimeStamp = true    #是否使用当地时间。
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.round=true     #是否启用时间上的”舍弃”,这里的”舍弃”,类似于”四舍五入”
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.roundValue=1   #时间上进行“舍弃”的值
taildir-hdfs-agent.sinks.hdfs-sink.hdfs.roundUnit=hour #时间上进行”舍弃”的单位,包含:second,minute,hour

 #定义组件之间的连接
taildir-hdfs-agent.sources.taildir-source.channels = taildir-memory-channel
taildir-hdfs-agent.sinks.hdfs-sink.channel = taildir-memory-channel

启动flume命令:
flume-ng agent \
--name taildir-hdfs-agent \
--conf-file /home/hadoop/app/flume/flume_conf/tail-m-h.conf \
--conf $FLUME_HOME/conf \
-Dflume.root.logger=INFO,console
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值