使用Flume进行数据的实时收集处理

在已经成功安装Flume的基础上,本文将总结使用Flume进行数据的实时收集处理,具体步骤如下:

第一步,在$FLUME_HOME/conf目录下,编写Flume的配置文件,命名为flume_first_conf,具体内容如下:

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

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

#配置channel1
agent1.channels.channel1.type=file
agent1.channels.channel1.checkpointDir=/home/yujianxin/hmbbs/hmbbs_tmp123
agent1.channels.channel1.dataDirs=/home/yujianxin/hmbbs/hmbbs_tmp

#配置sink1
agent1.sinks.sink1.type=hdfs
agent1.sinks.sink1.hdfs.path=hdfs://slave3: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

第二步,编写Shell脚本,执行Flume任务

     <span style="font-size:18px;">        vi flume1.sh

             #!/bin/sh
           flume-ng agent -n agent1 -c conf-f /home/yujianxin/flume/apache-flume-1.4.0-bin/conf/flume_first_conf
           -Dflume.root.logger=DEBUG,console >./flume1.log 2>&1 &
          让日志收集任务以后台进程运行,且将运行日志重定向到./flume1.log保存。

验证

通过命令行查看新启的进程

不断往Flume监控的目录/home/yujianxin/hmbbs1下放置文件

查看./flume.log运行日志,截部分关键图如下

查看成功上传到HDFS中的文件

OK!使用Flume自动监控指定目录下文件的变化,自动处理,上传到HDFS。比以前自己写Shell脚本方便、快捷、高效多了,哈哈

使用Flume进行数据的实时收集处理,布布扣,bubuko.com

时间: 2024-10-29 19:06:26

使用Flume进行数据的实时收集处理的相关文章

利用Flume将MySQL表数据准实时抽取到HDFS

转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取从MySQL数据库增量抽取数据到HDFS,然后用HAWQ的外部表进行访问.这种方式只需要很少量的配置即可完成数据抽取任务,但缺点同样明显,那就是实时性.Sqoop使用MapReduce读写数据,而MapReduce是为了批处理场景设计的,目标是大吞吐量,并不太关心低延时问题.就像实验中所做的,每天定

Flume和Kafka完成实时数据的采集

Flume和Kafka完成实时数据的采集 写在前面 Flume和Kafka在生产环境中,一般都是结合起来使用的.可以使用它们两者结合起来收集实时产生日志信息,这一点是很重要的.如果,你不了解flume和kafka,你可以先查看我写的关于那两部分的知识.再来学习,这部分的操作,也是可以的. 实时数据的采集,就面临一个问题.我们的实时数据源,怎么产生呢?因为我们可能想直接获取实时的数据流不是那么的方便.我前面写过一篇文章,关于实时数据流的python产生器,文章地址:http://blog.csdn

flume使用之exec source收集各端数据汇总到另外一台服务器

转载:http://blog.csdn.net/liuxiao723846/article/details/78133375 一.场景一描述: 线上api接口服务通过log4j往本地磁盘上打印日志,在接口服务器上安装flume,通过exec source收集日志,然后通过avro sink发送到汇总服务器上的flume:汇总服务器上的flume通过avro source接收日志,然后通过file_roll sink写到本地磁盘. 假设:api接口服务器两台 10.153.140.250和10.1

日志实时收集和计算的简单方案

作为互联网公司,网站监测日志当然是数据的最大来源.我们目前的规模也不大,每天的日志量大约1TB.后续90%以上的业务都是需要基于日志来完 成,之前,业务中对实时的要求并不高,最多也就是准实时(延迟半小时以上),因此,我们使用Flume将数据收集到HDFS,然后进行清洗和分析. 后来,根据业务需要,我们有了两个Hadoop集群,并且部署在不同的地方(北京和西安),而所有的日志收集服务器在北京,因此需要将日志数据通过外网传输到西安,于是有了这样的部署: 很快,通过Flume流到西安Hadoop集群的

rsync+inotify实现数据的实时备份

一.rsync概述 1.1.rsync的优点与不足 rsync与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等.  随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量

通过rsync+inotify实现数据的实时备份

我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等. 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首

通过rsync+inotify实现数据的实时备份 【转载】

   在前面的博文中,我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足  与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等.  随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中

Flume整合Kafka完成实时数据采集

agent选择 agent1 exec source + memory channel + avro sink agent2 avro source + memory channel 模拟实际工作中的场景,agent1 为A机器,agent2 为B机器. avro source: 监听avro端口,并且接收来自外部avro信息, avro sink:一般用于跨节点传输,主要绑定数据移动目的地的ip和port 在创建agent2配置文件 cd /app/flume/flume/conf vi te

rsync+inotify 实现数据的实时备份

我这个人写一些东西难免要发一番感慨,今天做rsync+inotify实现实时备份,做了好长时间没做出来,这段时间我看了好多博文还有一些视频,但自己做的时候还是没做出来,非常郁闷,就拿起书慢慢的看起来,最终我把思路整理好,又重新试验了一遍终于成功了.是的,你百分之九十的时间在实践,而剩下百分之十的时间才能到达成功,坚持加再看一遍很重要. 我先整理一下大致思路,如有时间,我再整理完整的文档出来. 1.先在两台主机里面安装rsync. 2.在服务节点上配置rsync. 3.在内容发布节点上安装inot