Flume简介
**为什么使用flume???**
Nginx+tomcat架构图
sp–>servlet(controller)–Service–>dao–>db
大数据的数据来源从哪
Hive(数据仓库),–>mysql数据库;数据库的记录存储的是最近的记录(1亿,1个月,1周,1天),之前的数据要先备份到数据仓库,然后要清理掉(mysql),
日志:日记历史(system.out.println日志这个操作很low–不可取);log4j2
订单表(存储的是最新的,不能把所有的历史给存储了)
Id 状态(0:下单,1:确认,2:未支付,3:已支付,4:支付失败,5:已发货,6:已收货
1 6
创建一张历史表:
Id 订单id 状态 时间
1 1 0 2018-11-11
1 1 1 2018-11-12
1 1 2 2018-11-13
订单表和历史表是一对多的关系;(忽然双11,双12,购物节),订单表的记录会超级多(比如1亿,历史表的记录会多少:1亿*10);要清理;
两手准备:
数据库中的表有做记录;(是最近的数据)
日志:格式,我们自己定(文件)
!](https://img-blog.csdnimg.cn/20200716165351907.png)
大数据所需要的数据来源日志部分是分散的;进行大数据运算和统计需要把分散的日志合并到一个地方(hdfs);
Log4j:一天一个日志文件吗?今天把昨天的日志上传到hdfs上多好(hdfs命令,java也行)(每天都传)
需要将同一个命令在所有的有日志的电脑都要执行(400多台)
介绍
Flume(水槽):采集工具,将大数据分散的数据源(数据库,日志)统一采集到一个地方(hdfs),
官网:http://flume.apache.org/
Flume是一种分布式、可靠和可用的服务,可以高效地收集、聚合和移动大量的日志数据。它具有基于流数据流的简单灵活的体系结构。它具有鲁棒性和容错性,具有可调的可靠性机制和多种故障转移和恢复机制。它使用了一个简单的、可扩展的数据模型,允许在线分析应用程序
结构
Source:来源(flume)
Channel:渠道(flume)
Sink:目的地(flume)
webServer:数据源(产生数据的地方,tomcat)
Hdfs:它是把数据放到了hdfs中;
本文地址:https://blog.csdn.net/A210810/article/details/107386884
上一篇: Shell指令进行字符串提取操作
下一篇: Shell指令的文件类型测试选项