黑马程序员——Flume-分布式日志收集系统

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

类似产品:

        facebook  的scribe

        cloudera  CDH系类的flume

        分布式日志收集系统

是一个分布式的数据收集系统,具有高可靠,高可用,事务管理,失败重启等功能,数据处理速度快

完全可以用于生产环境

flume的核心是agent,agent是一个java进程,运行在日志收集端。通过agent接收日志,然后暂存起来,在发送到目的地。

 Web Server-->Source-->Chanel-->Sink-->HDFS

核心概念:agent、source、channel、sink、interceptor

source可以接收各种格式的数据,如console、thrift、exec、httpdent、avro、jms、spooling、netcat、sequence nenerator 、自定义

sink可以发送到各种不同的目的地,如hdfs、hbase、文件、控制台等

channel缓冲数据,可以放在内存、文件、数据库等。其中的数据只有在sink被发送成功之后才能被删除

在整个数据传输过程中。流动的是event.

interceptor可以在数据传递过程中改变其属性信息

              

1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去。

2.flume里面有个核心概念,叫做agent。agent是一个java进程,运行在日志收集节点。

3.agent里面包含3个核心组件:source、channel、sink。

3.1 source组件是专用于收集日志的,可以处理各种类型各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy、自定义。

    source组件把数据收集来以后,临时存放在channel中。

3.2 channel组件是在agent中专用于临时存储数据的,可以存放在memory、jdbc、file、自定义。

    channel中的数据只有在sink发送成功之后才会被删除。

3.3 sink组件是用于把数据发送到目的地的组件,目的地包括hdfs、logger、avro、thrift、ipc、file、null、hbase、solr、自定义。

4.在整个数据传输过程中,流动的是event。事务保证是在event级别。

5.flume可以支持多级flume的agent,支持扇入(fan-in)、扇出(fan-out)。

6.书写配置文件example

安装步骤

1      1 下载apache-fuleme-1.4.0-bin.tar.gz和apache-flume-1.4.0-src.tar.gz

        2 两个都解压缩,然把src文件夹中的内容全部复制到bin文件夹

    3  3 核心是写配置文件

flume 的bin下有flume-ng,是可执行命令

把三个管段连接起来跑数据,如何连接?

书写配置文件:

flume可以前后相继

#agent1表示代理名称
agent1.sources=source1
agent1.sinks=sink1
agent1.channels=channel1


#Spooling Directory是监控指定文件夹中新文件的变化,一旦新文件出现,就解析该文件内容,然后写入到channle。写入完成后,标记该文件已完成或者删除该文件。
#配置source1
agent1.sources.source1.type=spooldir
agent1.sources.source1.spoolDir=/root/hmbbs
agent1.sources.source1.channels=channel1
agent1.sources.source1.fileHeader = false
agent1.sources.source1.interceptors = i1
agent1.sources.source1.interceptors.i1.type = timestamp

#配置sink1
agent1.sinks.sink1.type=hdfs
agent1.sinks.sink1.hdfs.path=hdfs://hadoop0:9000/hmbbs
agent1.sinks.sink1.hdfs.fileType=DataStream
agent1.sinks.sink1.hdfs.writeFormat=TEXT
agent1.sinks.sink1.hdfs.rollInterval=1
agent1.sinks.sink1.channel=channel1
agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d

#配置channel1
agent1.channels.channel1.type=file
agent1.channels.channel1.checkpointDir=/root/hmbbs_tmp123
agent1.channels.channel1.dataDirs=/root/hmbbs_tmp


7.执行命令bin/flume-ng agent -n agent 1 -c conf -f conf/example -Dflume.root.logger=DEBUG,console

 

 

转载于:https://my.oschina.net/u/1476041/blog/324977

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值