storm流程——flume

flume:实时日志收集系统,是日志收集之王。
flume的特性:
(1)可靠性
(2)可伸缩性
(3)高性能
(4)可延展性
(5)开源社区的支持
flume的概念:
(1)agent——>使用JVM 运行flume,每台机器运行一个agent,但是可以在一个 agent中包含多个sources和sinks。
(2)client——>生产数据,运行在一个独立的线程。
(3)source——>从client收集数据,传递给channel。
(4)channel——>连接 sources 和 sinks 。
(5)sink——>从channel收集数据,运行在一个独立线程。
(6)events——>是flume的数据处理单元,可以是日志,avro,spool等。
flume的数据流图:
流程图
flume的例子
(以exec为例)
1.(1)先在flume的conf目录下创建一个exec.conf文件,

vi conf/exec.conf

(2)在exec.conf文件中输入以下内容:

# Name the components on this agent
agent1.sources = r1
agent1.sinks = k1
agent1.channels = c1

#define source monitor a file
agent1.sources.r1.type = exec
#(定义数据源的地址及查看数据源的方式为:tail  -n +0 -F /home/storm/work/access.log )
agent1.sources.r1.command = tail  -n +0 -F /home/storm/work/access.log 
agent1.sources.r1.channels = c1

# Describe the sink

# Each sink's type must be defined
agent1.sinks.k1.type = file_roll
#(定义flume的输出地址为:/home/storm/flume/data)
agent1.sinks.k1.sink.directory=/home/storm/flume/data
agent1.sinks.k1.sink.serializer = text
agent1.sinks.k1.sink.serializer.appendNewline = true

#a21.sinks.r2.sink.rollInterval = 3600
agent1.sinks.k1.sink.rollInterval = 43200
agent1.sinks.k1.channel = c1

# Use a channel which buffers events in memory
agent1.channels.c1.type = memory
agent1.channels.c1.capacity = 1000
agent1.channels.c1.transactionCapacity = 100

2.启动flume

bin/flume-ng agent -c conf -n agent1 -f conf/exec.conf  -Dflume.root.logger=INFO,console >> logs/flume.log 2>&1 &

参数说明:
-c conf 指定配置目录为conf。
-f conf/exec.conf指定配置文件为conf/avro.conf (注意路径,当前路径与配置所指的路径)。
-n agent1 指定agent名字为agent1,需要与exec.conf中的一致。
-Dflume.root.logger=INFO,console 指定DEBUF模式在console输出INFO信息。
“>>logs/flume.log 2>&1 & “指的是把输出的日志信息追加到logs/flume.log。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值