1.8-1.10 大数据仓库的数据收集架构及监控日志目录日志数据,实时抽取之hdfs系统上
一、数据仓库架构




二、flume收集数据存储到hdfs
文档:http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#hdfs-sink
三、监控日志目录日志数据,实时抽取之hdfs系统上-实验
1、Source:Spooling Directory
在使用exec来监听数据源虽然实时性较高,但是可靠性较差,当source程序运行异常或者Linux命令中断都会造成数据丢失,
在恢复正常运行之前数据的完整性无法得到保障。 Spooling Directory Paths通过监听某个目录下的新增文件,并将文件的内容读取出来,实现日志信息的收集。实际生产中会结合log4j来使用。
被传输结束的文件会修改后缀名,添加.COMPLETED后缀(可修改)。
2、
监控目录
>日志目录,抽取完整的日志文件,写的日志文件不抽取 使用FileChannel
>本地文件系统缓冲,比内存安全性更高 数据存储HDFS
>存储对应hive表的目录或者hdfs目录
3、配置flume agent
##agent 配置文件:flume-app.conf 如下:
# The configuration file needs to define the sources,
# the channels and the sinks.
####define agent
a3.sources = r3
a3.channels = c3
a3.sinks = k3
###define sources
a3.sources.r3.type = spooldir
a3.sources.r3.spoolDir = /opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/spoollogs
a3.sources.r3.ignorePattern = ^(.)*\.log$
a3.sources.r3.fileSuffix = .delete
###define channel
a3.channels.c3.type = file
a3.channels.c3.checkpointDir = /opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/filechannel/checkpoint
a3.channels.c3.dataDirs = /opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/filechannel/data
###define sink
a3.sinks.k3.type = hdfs
a3.sinks.k3.hdfs.path = hdfs://hadoop-senior.ibeifeng.com:8020/user/root/flume/splogs/
a3.sinks.k3.hdfs.fileType = DataStream
a3.sinks.k3.hdfs.writeFormat = Text
a3.sinks.k3.hdfs.batchSize = 10
###bind the soures and sink to the channel
a3.sources.r3.channels = c3
a3.sinks.k3.channel = c3
对agent配置文件的解释:
##define sources字段:
type : spooldir //通过监听某个目录下的新增文件,并将文件的内容读取出来,实现日志信息的收集
spoolDir //从哪个目录中读取数据
ignorePattern //排除哪些文件,用正则匹配
fileSuffix //给读取完的文件,加上一个后缀名 ##define channel
type = file //channel存到文件中,而不是内存,这样不易丢失数据
checkpointDir //存储检查点文件的存放目录
dataDirs //逗号分隔的目录列表,用于存储日志文件。在单独的磁盘上使用多个目录可以提高文件通道的性能 ##define sink
type = hdfs //抽取完的数据存到hdfs上
hdfs.path //在hdfs上的存储路径
hdfs.fileType //hdfs上的存储的文件格式,DataStream不会压缩输出文件
writeFormat //序列文件记录的格式,应该设置为Text,否则这些文件不能被Apache Impala(孵化)或Apache Hive读取
batchSize //number of events written to file before it is flushed to HDFS
4、运行agent
##先准备一些数据
mkdir -p /opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/spoollogs #创建待抽取数据存放目录 [root@hadoop-senior spoollogs]# ls #准备三个数据文件
emp.txt hivef.log hivef.sql mkdir -p /opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/filechannel/{checkpoint,data} #创建channel数据存放目录 bin/hdfs dfs -mkdir -p /user/root/flume/splogs/ #在hdfs上创建此目录 ##运行agent
bin/flume-ng agent \
-c conf \
-n a3 \
-f conf/flume-app.conf \
-Dflume.root.logger=DEBUG,console ##此时查看/opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/spoollogs中的数据,emp.txt hivef.sql后缀加上了.delete
##hivef.log没有加后缀,因为我们排除了.log的文件
[root@hadoop-senior spoollogs]# ls
emp.txt.delete hivef.log hivef.sql.delete ##查看hdfs上有没有数据,已经有了
[root@hadoop-senior hadoop-2.5.0-cdh5.3.6]# bin/hdfs dfs -ls -R /user/root/flume/splogs/
-rw-r--r-- 3 root supergroup 463 2019-05-09 09:37 /user/root/flume/splogs/FlumeData.1557365835585
-rw-r--r-- 3 root supergroup 228 2019-05-09 09:37 /user/root/flume/splogs/FlumeData.1557365835586
1.8-1.10 大数据仓库的数据收集架构及监控日志目录日志数据,实时抽取之hdfs系统上的更多相关文章
- 利用Flume将MySQL表数据准实时抽取到HDFS
转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...
- SQL Server自动化运维系列——关于数据收集(多服务器数据收集和性能监控)
需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...
- SQL Server自动化运维系列 - 多服务器数据收集和性能监控
需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...
- SQL Server 自动化运维系列 - 多服务器数据收集和性能监控
需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...
- 第三百五十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection)
第三百五十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection) Scrapy提供了方便的收集数据的机制.数据以key/value方式存储,值大多是计数 ...
- 三十三 Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection)
Scrapy提供了方便的收集数据的机制.数据以key/value方式存储,值大多是计数值. 该机制叫做数据收集器(Stats Collector),可以通过 Crawler API 的属性 stats ...
- 【转】sql server数据收集和监控
转自:https://www.cnblogs.com/zhijianliutang/p/4476403.html 相关系列: https://www.cnblogs.com/zhijianliutan ...
- 创建数据收集器集(DSC)
TechNet 库 Windows Server Windows Server 2008 R2 und Windows Server 2008 按类别提供的 Windows Server 内容 按类别 ...
- GIS+=地理信息+行业+大数据——基于云环境流处理平台下的实时交通创新型app
应用程序已经是近代的一个最重要的IT创新.应用程序是连接用户和数据之间的桥梁,提供即时訪问信息是最方便且呈现的方式也是easy理解的和令人惬意的. 然而,app开发人员.尤其是后端平台能力,一直在努力 ...
随机推荐
- C# SQL 整表插入
说明: (1)表A的一部分数据插入到表B (2)DataAccess 类,是放在DAL层下的底层类; da.StrConnection 写在DataAccess类中; //整表插入方法 private ...
- kubernetes集群管理之通过jq来截取属性
系列目录 首先要声明,这里的jq并不是批前端框架里的jquery,而是一个处理json的命令行工具. jq工具相比yq,它更加成熟,功能也更加强大,主要表现在以下几个方面 支持递归查找(我点对我们平时 ...
- JS 常用字符串操作
Js字符串操作函数大全 /******************************************* 字符串函数扩充 ...
- 一个兼容性比较好的图片左右滚动的js
下载地址:http://www.cnblogs.com/RightDear/admin/Files.aspx 文件:shhds.rar
- Ubuntu上Eclipse安装PyDev方法和配置
Ubuntu11.10中Eclipse安装PyDev插件方法 PyDev是Eclipse中用来开发python的一个插件,个人比较喜欢,下面介绍在Ubuntu下安装这个插件的方法.(在Windows下 ...
- Netty 仿QQ聊天室 (实战二)
Netty 聊天器(百万级流量实战二):仿QQ客户端 疯狂创客圈 Java 分布式聊天室[ 亿级流量]实战系列之15 [博客园 总入口 ] 源码IDEA工程获取链接:Java 聊天室 实战 源码 写在 ...
- Unable to start adb server: adb server version (32) doesn't match this client (39); killing...
关于Android studio 连接不上adb问题,有人说重启机器,有人说重启工具,也有人说adb kill-server.然后我都尝试过依然没有解决.通过各种查询.最终成功的解决!!! adb n ...
- LVS项目介绍
LVS项目介绍 章文嵩 (wensong@linux-vs.org) 转自LVS官方参考资料 2002 年 3 月 本文介绍了Linux服务器集群系统--LVS(Linux Virtual Serve ...
- css中IE判断语句 if !IE
1. <!–[if !IE]><!–> 除IE外都可识别 <!–<![endif]–> 2. <!–[if IE]> 所有的IE可识别 <! ...
- 在 Linux 上如何清除内存的 Cache、Buffer 和交换空间
原文链接:http://www.linuxidc.com/Linux/2015-06/118856.htm 像任何其他的操作系统一样,GNU/Linux 已经实现的内存管理不仅有效,而且更好.但是,如 ...