首页 > Web开发 > 详细

flume采集日志写入hdfs和hbase

时间:2016-04-01 02:09:43      阅读:950      评论:0      收藏:0      [点我收藏+]

一:Hdfs?Sink

Flume可以很方便以扩展的方式写入数据到hdfs,基于分层的方式可以有效分担namenode集群的压力,一个hdfs?sink可以写数据到多个bucket中,但是一个事件将只会进入到一个bucket中,每当数据被成功写入hdfs,数据才会从channel中删除,如果失败或者超时,channel会回滚事物且关闭要写入的文件。

想一下,我们有这样一个需求,需要将数据写入到当前时间所在的目录下面,以便跟踪和区分数据,不出所料,hdfs?sink?提供了很强大的时间戳转义,基于报头的值,sink可以替换多个转义序列为相应的值,hdfs?sink将时间戳的值定义为从197011日以来00:00:00格式的总秒数。

关于hdfs?sink时间戳的转义可以参见官网:http://flume.apache.org/FlumeUserGuide.html

hdfs?sink?有很多配置参数,可以方便在一个很好的粒度级别来控制hdfs?sink的表现,下面列举一些重要的配置。

type:?hdfs

hdfs.path:sink写入的目录路径

hdfs.filePrefix:文件名的前缀

hdfs.inUsePrefix:hdfs正在写入的文件名的前缀

hdfs,inUseSuffixhdfs正在写入的文件名的后缀

hdfs,timeZone:在创建bucket路径时的时区

hdfs.rollInterval:文件在保存之前的时间

hdfs.rollSize:文件在保存之前写入文件的最大事件数

hdfs.batchSize:每批次写入事件的最大值

hdfs.useLocalTimeStamp?:?默认是false,如果设置为true,那么hdfs?sink将会使用当前agent的时间戳用来基于时间的分桶

hdfs.round:用来标明事件的时间戳是否向下取整

hdfs.roundUnit:配置时间的单位

hdfs.fileType:使用的文件格式,默认是SequenceFile

hdfs.threadsPoolSize:线程池中执行hdfs操作的线程数

二:Hbase?Sink

Hbase是一个列式数据库,flume支持2hbase,一种是安全的hbase?sink,但是是阻塞的,执行效率比较慢,另一种是aysnc?hbase?sink,sink是非阻塞的,使用多线程写入数据到hbase,执行效率更快,但是其不支持安全的Hbase

Hbase的参数配置和hdfs差不多,下面列举一些不一样的地方

Type:hbase

Table:sink写入事件的表,这个表必须再hbase中先存在,因为flume不会自动建表

columnFamily:创建的列所在的列族

batchSize:每次批量写事件的数量

zookeeperQuorum,hbase集群依赖的zookeeper服务列表,hbase自带了默认的,如果你的机器没有ZK集群服务的话

三:flume收集日志到hdfs和hbase

?3.1:写入hdfs

? 在flume安装路径的conf目录下,新建一个文件hdfs-test.conf,修改后保存退出。具体配置如下:

? 2Source2Channel2sink。不同的sink经不同的channel写入到不同的hdfs目录下面,k1会根据配置的参数将数据放在当前机器时间的目录下面,k2则是一个普通的目录。
bubuko.com,布布扣
bubuko.com,布布扣

然后启动hdfs
bubuko.com,布布扣

然后进入flume安装路径下的bin目录执行
bubuko.com,布布扣

运行后可以看到:
bubuko.com,布布扣

打开hdfs管理界面
bubuko.com,布布扣

3.2?写入Hbase

? hbase是一个列式数据库,flume的配置文件如下:
bubuko.com,布布扣

启动hbase
bubuko.com,布布扣

先看一下,咱们采集的文件hbase.log的内容
bubuko.com,布布扣

然后进入flume安装目录下bin下启动配置的hbase.conf

发现hbase里面表testflume对应已经有数据了。
bubuko.com,布布扣
?

flume采集日志写入hdfs和hbase

原文:http://tanjie090508.iteye.com/blog/2287668

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!