hadoop | Flume的配置方式——实战(四)

  • 内容
  • 相关

前面学习了Flume的source、channel和sink类型,接下来通过实例操作。

一、测试示例

1、通过flume来监控一个目录,当目录中有新文件时,将文件内容输出到控制台。

① 创建/root/flume/conf/spooldir.conf

#配置一个agent,agent的名称可以自定义(如a1)

#指定agent的sources(如s1)、sinks(如k1)、channels(如c1)

#分别指定agent的sources,sinks,channels的名称 名称可以自定义

a1.sources = s1 

a1.sinks = k1 

a1.channels = c1 

  

#描述source

#配置目录scource

a1.sources.s1.type =spooldir 

a1.sources.s1.spoolDir =/home/hadoop/logs 

a1.sources.s1.fileHeader= true 

a1.sources.s1.channels =c1 

  

#配置sink

a1.sinks.k1.type = logger  

a1.sinks.k1.channel = c1 

  

#配置channel(内存做缓存)

a1.channels.c1.type = memory

② 启动命令

[hadoop@hadoop1 ~]$ flume-ng  agent  --conf  /root/flume/conf  --conf-file /root/flume/conf/spooldir.conf  --name  a1  -Dflume.root.logger=INFO,console

③ 将123.log移动到logs目录

④ 运行结果

 

2、通过flume来监控一个本地文件,当文件有新内容时,将文件内容输出到指定的本地文件

① 创建/root/flume/conf/localfile.conf

#定义agent中各组件名称

agent1.sources=source1

agent1.sinks=sink1

agent1.channels=channel1

 

# source1组件的配置参数

agent1.sources.source1.type=exec

#此处的文件/home/source.log需要手动生成,见后续说明

agent1.sources.source1.command=tail  -n  +0  -F  /root/source.log

 

# channel1的配置参数

agent1.channels.channel1.type=memory

agent1.channels.channel1.capacity=1000

agent1.channels.channel1.transactionCapactiy=100

 

# sink1的配置参数

agent1.sinks.sink1.type=file_roll

agent1.sinks.sink1.sink.directory=/tmp/A

 

# 将source和sink 绑定到channel

agent1.sources.source1.channels=channel1

agent1.sinks.sink1.channel=channel1

② 启动命令

[root@fishyoung ~]# flume-ng  agent  --conf  /root/flume/conf  --conf-file /root/flume/conf/localfile.conf  --name  agent1 -Dflume.root.logger=DEBUG,console

③ 往/root/source.log里面输入内容

④ 运行结果

 您阅读这篇文章共花了:

上一篇:Hadoop | flume的source、channel和sink类型(三)

下一篇:Docker | Linux 7下离线安装docker

本文标签:    

版权声明:本文依据CC-BY-NC-SA 3.0协议发布,若无特殊注明,本文皆为《fishyoung》原创,转载请保留文章出处。

本文链接:hadoop | Flume的配置方式——实战(四) - http://www.fishyoung.com/post-303.html