一、数据仓库架构

二、flume收集数据存储到hdfs

  1. 文档http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#hdfs-sink

三、监控日志目录日志数据,实时抽取之hdfs系统上-实验

1、Source:Spooling Directory

  1. 在使用exec来监听数据源虽然实时性较高,但是可靠性较差,当source程序运行异常或者Linux命令中断都会造成数据丢失,
  2. 在恢复正常运行之前数据的完整性无法得到保障。
  3.  
  4. Spooling Directory Paths通过监听某个目录下的新增文件,并将文件的内容读取出来,实现日志信息的收集。实际生产中会结合log4j来使用。
  5. 被传输结束的文件会修改后缀名,添加.COMPLETED后缀(可修改)。

2、

  1. 监控目录
  2. >日志目录,抽取完整的日志文件,写的日志文件不抽取
  3.  
  4. 使用FileChannel
  5. >本地文件系统缓冲,比内存安全性更高
  6.  
  7. 数据存储HDFS
  8. >存储对应hive表的目录或者hdfs目录

3、配置flume agent

  1. ##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配置文件的解释:

  1. ##define sources字段:
  2. type spooldir //通过监听某个目录下的新增文件,并将文件的内容读取出来,实现日志信息的收集
  3. spoolDir //从哪个目录中读取数据
  4. ignorePattern //排除哪些文件,用正则匹配
  5. fileSuffix //给读取完的文件,加上一个后缀名
  6.  
  7. ##define channel
  8. type = file //channel存到文件中,而不是内存,这样不易丢失数据
  9. checkpointDir //存储检查点文件的存放目录
  10. dataDirs //逗号分隔的目录列表,用于存储日志文件。在单独的磁盘上使用多个目录可以提高文件通道的性能
  11.  
  12. ##define sink
  13. type = hdfs //抽取完的数据存到hdfs上
  14. hdfs.path //在hdfs上的存储路径
  15. hdfs.fileType //hdfs上的存储的文件格式,DataStream不会压缩输出文件
  16. writeFormat //序列文件记录的格式,应该设置为Text,否则这些文件不能被Apache Impala(孵化)或Apache Hive读取
  17. batchSize //number of events written to file before it is flushed to HDFS

4、运行agent

  1. ##先准备一些数据
  2. mkdir -p /opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/spoollogs #创建待抽取数据存放目录
  3.  
  4. [root@hadoop-senior spoollogs]# ls #准备三个数据文件
  5. emp.txt hivef.log hivef.sql
  6.  
  7. mkdir -p /opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/filechannel/{checkpoint,data} #创建channel数据存放目录
  8.  
  9. bin/hdfs dfs -mkdir -p /user/root/flume/splogs/ #在hdfs上创建此目录
  10.  
  11. ##运行agent
  12. bin/flume-ng agent \
  13. -c conf \
  14. -n a3 \
  15. -f conf/flume-app.conf \
  16. -Dflume.root.logger=DEBUG,console
  17.  
  18. ##此时查看/opt/cdh-5.3.6/flume-1.5.0-cdh5.3.6/spoollogs中的数据,emp.txt hivef.sql后缀加上了.delete
  19. ##hivef.log没有加后缀,因为我们排除了.log的文件
  20. [root@hadoop-senior spoollogs]# ls
  21. emp.txt.delete hivef.log hivef.sql.delete
  22.  
  23. ##查看hdfs上有没有数据,已经有了
  24. [root@hadoop-senior hadoop-2.5.0-cdh5.3.6]# bin/hdfs dfs -ls -R /user/root/flume/splogs/
  25. -rw-r--r-- 3 root supergroup 463 2019-05-09 09:37 /user/root/flume/splogs/FlumeData.1557365835585
  26. -rw-r--r-- 3 root supergroup 228 2019-05-09 09:37 /user/root/flume/splogs/FlumeData.1557365835586

1.8-1.10 大数据仓库的数据收集架构及监控日志目录日志数据,实时抽取之hdfs系统上的更多相关文章

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

    转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...

  2. SQL Server自动化运维系列——关于数据收集(多服务器数据收集和性能监控)

    需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...

  3. SQL Server自动化运维系列 - 多服务器数据收集和性能监控

    需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...

  4. SQL Server 自动化运维系列 - 多服务器数据收集和性能监控

    需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...

  5. 第三百五十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection)

    第三百五十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection) Scrapy提供了方便的收集数据的机制.数据以key/value方式存储,值大多是计数 ...

  6. 三十三 Python分布式爬虫打造搜索引擎Scrapy精讲—数据收集(Stats Collection)

    Scrapy提供了方便的收集数据的机制.数据以key/value方式存储,值大多是计数值. 该机制叫做数据收集器(Stats Collector),可以通过 Crawler API 的属性 stats ...

  7. 【转】sql server数据收集和监控

    转自:https://www.cnblogs.com/zhijianliutang/p/4476403.html 相关系列: https://www.cnblogs.com/zhijianliutan ...

  8. 创建数据收集器集(DSC)

    TechNet 库 Windows Server Windows Server 2008 R2 und Windows Server 2008 按类别提供的 Windows Server 内容 按类别 ...

  9. GIS+=地理信息+行业+大数据——基于云环境流处理平台下的实时交通创新型app

    应用程序已经是近代的一个最重要的IT创新.应用程序是连接用户和数据之间的桥梁,提供即时訪问信息是最方便且呈现的方式也是easy理解的和令人惬意的. 然而,app开发人员.尤其是后端平台能力,一直在努力 ...

随机推荐

  1. python--员工信息管理系统编译及思路

    员工管理系统,顾名思义,应该具有增删查改功能.拿到需求后,应该按照一定的流程依次编写,最后达到程序的统一和兼容. 系统需求如下: 文件存储格式如下: id,name,age,phone,job 1,A ...

  2. caffe学习--Lenet5的应用和原理、实现----ubuntu16.04.2+caffe+mnist+train+test

    Lenet5的应用和原理.实现 ----------------------------------------------ubuntu16.04.2------------------------- ...

  3. Linux内核RCU(Read Copy Update)锁简析

    在非常早曾经,大概是2009年的时候.写过一篇关于Linux RCU锁的文章<RCU锁在linux内核的演变>,如今我承认.那个时候我尽管懂了RCU锁,可是我没有能力用一种非常easy的描 ...

  4. leetcode dfs Flatten Binary Tree to Linked List

    Flatten Binary Tree to Linked List Total Accepted: 25034 Total Submissions: 88947My Submissions Give ...

  5. Avro Parquet

    行   支持数据追加 列  频繁进行小部分列查询

  6. UniGui的信息弹出框MessageDlg自定义标题的方法(使用JS动态本地化文本)

    UniGui的信息弹出框MessageDlg的原型定义如下: procedure MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons ...

  7. [2017-10-25]Abp系列——集成消息队列功能(基于Rebus.Rabbitmq)

    本系列目录:Abp介绍和经验分享-目录 前言 由于提交给ABP作者的集成消息队列机制的PR还未Review完成,本篇以Abplus中的代码为基准来介绍ABP集成消息队列机制的方案. Why 为什么需要 ...

  8. 查询所有联系人并选中显示 contentprovider

    <!-- 读取联系人记录的权限 --> <uses-permission android:name="android.permission.READ_CONTACTS&qu ...

  9. 将前端文件和Go程序打包

    我今天项目上碰见个需求,前端小哥给我写了个页面,要搭配我的Go程序一起使用,突然想到Go可以打包静态页面,而且调用也很方便,所以操作了一下,成功,我把它记录下来,作为以后的回顾和复习. 首先,我们需要 ...

  10. iOS 9已下的获取APP进程信息

    - (NSDictionary *)getAppInfo:(NSString *)exec withBundleID:(NSString *)bundle { if ([exec isKindOfCl ...