热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

flume之监视日志数据抽出到hdfs上示例

今天学习了一个新的轻量级框架,就是一个的实时日志收集系统,由cloudera公司开发的框架下面贴上代码##对log的完成数据,进行数据

今天学习了一个新的轻量级框架,就是一个的实时日志收集系统,由cloudera公司开发的框架

下面贴上代码

##对log的完成数据,进行数据抽取,并对文件夹下所有文件进行实时监视###define agent
a3.sources = r3
a3.channels = c3
a3.sinks = k3#define sources
a3.sources.r3.type = spooldir
a3.sources.r3.spoolDir = /opt/module/cdh/flume-1.5.0-cdh5.3.6/spool_logs
a3.sources.r3.fileSuffix = .completed
a3.sources.r3.ignorePattern = ^(.)*\\.tmp$#define channels
a3.channels.c3.type = file
a3.channels.c3.checkpointDir = /opt/module/cdh/flume-1.5.0-cdh5.3.6/flume_file/checkpoint
a3.channels.c3.dataDirs = /opt/module/cdh/flume-1.5.0-cdh5.3.6/flume_file/data#define sinks
a3.sinks.k3.type = hdfs
a3.sinks.k3.hdfs.useLocalTimeStamp = true
a3.sinks.k3.hdfs.path = /user/make/flume/hive_spool_log/%Y-%m-%d
a3.sinks.k3.hdfs.fileType = DataStream
a3.sinks.k3.hdfs.writeFormat = Text
a3.sinks.k3.hdfs.batchSize= 10#bind
a3.sources.r3.channels = c3
a3.sinks.k3.channel = c3

上面的具体参数,以及三大核心的类型,上官网看,写得十分详细:http://flume.apache.org/FlumeUserGuide.html#hdfs-sink

a3.channels.c3.checkpointDir = /opt/module/cdh/flume-1.5.0-cdh5.3.6/flume_file/checkpoint
a3.channels.c3.dataDirs = /opt/module/cdh/flume-1.5.0-cdh5.3.6/flume_file/data

这两个参数自己建立的目录

a3.sources.r3.spoolDir = /opt/module/cdh/flume-1.5.0-cdh5.3.6/spool_logs

这是我们监视的目录

a3.sinks.k3.hdfs.useLocalTimeStamp = true
a3.sinks.k3.hdfs.path = /user/make/flume/hive_spool_log/%Y-%m-%d

如果要按照抽取的时间,自动建立文件夹,则需要把hdfs.uselocaltimestamp参数设置为true,自动调用系统当前时间

这是我么运行测试日志之后,得到的文件夹,2018-6-19是我们手动修改时间,形成的文件夹,所以有两个,理解得更明显

在来查看,抽取到hdfs上的数据,内容跟我们的日志数据一毛一样,所以就可以对其进行分析,或者进行日志异常监控,监控某个值是否异常等等。



推荐阅读
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 既然HDFS是存取数据的分布式文件系统,那么对HDFS的操作,就是文件系统的基本操作,比如文件的创建、修改、删除、修改权限等,文件夹的创建、删除、重命名等。对HDFS的操作命令类似于Linux的she ... [详细]
  • kafka教程基本概念
    kafka教程基本概念 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • JVM:33 如何查看JVM的Full GC日志
    1.示例代码packagecom.webcode;publicclassDemo4{publicstaticvoidmain(String[]args){byte[]arr ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Flink使用java实现读取csv文件简单实例首先我们来看官方文档中给出的几种方法:首先我们来看官方文档中给出的几种方法:第一种:Da ... [详细]
  • 对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例为了方便查看源代码,关联导入源代 ... [详细]
  • 伸缩性|发生_分布式文件系统设计,该从哪些方面考虑?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了分布式文件系统设计,该从哪些方面考虑?相关的知识,希望对你有一定的参考价值。点击上方关注“ ... [详细]
  • MapReduce工作流程最详细解释
    MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太 ... [详细]
author-avatar
-DJIAJIAN-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有