一、数据采集:
1.1 Flume集群:数据采集工具,如写脚本将不同源端的数据采集后进行数据存储,或推送至Kafka等;
1.2 FTP集群:文件传输工具;
1.3 Kafka集群:消息队列,未避免消息堵塞而将消息由Kafka统一管理,进行消息的接收和发布;
1.4 爬虫服务器:依据需求定时定向抓取页面数据;
二、数据存储:
2.1HDFS集群:
(1)概念:分布式文件存储系统,做数据存储(理解为一个磁盘),相当于数据分布在若干个服务器上,主要存储文件。
(2)流程:客户端先访问HDFS的管理服务器(NameNode存储元数据),再由管理服务器指向存储服务器(DataNode)存储数据块。
(3)特点:存储量大,主要文件存储。
2.2Greenplum集群
(1)概念:本质上是一个关系型数据库集群,做数据存储。
(2)特点:在低成本的开放平台基础上提供强大的并行数据计算性能和海量数据管理能力。能力主要指的并行计算能力,是对大任务、复杂的快速高效运算。
2.3Zookeeper服务器集群
(1)概念:一个分布式服务框架,文件系统+监听通知机制。
(2)作用:实现诸如分布式应用配置管理、统一命名服务、状态同步服务、集群管理等功能,实现自动高可用(master节点选举, 主节点down掉后, 从节点就会接手工作, 并且保证这个节点是唯一的,这也就是所谓首脑模式,从而保证我们集群是高可用的),用来监听及管理如存储服务器集群(HDFS,Greenplum)。
三、数据计算处理:
3.1Flink服务集群:
(1)概念:实时计算处理数据大数据组件。
(2)作用:容错机制。
(3)用处:业务对数据及时性要求很高时,产生一条数据处理一条,如订单支付状态等。
3.2Spark服务集群
(1)概念:实时计算处理数据大数据组件,实时性低于Flink组件。
(2)用处:业务对数据及时性要求不是很高时,用Spark组件,如物流状态更新。
3.3MR服务集群
(1)概念:MR-MapReduce,Hadoop自带数据处理工具。
(2)特点:通常处理大量数据,但实时性较Flink及Spark低。
(3)用处:通常用于对实时性要求很低的业务,如订单月统计分析(按月统计)。
3.1Hive服务集群
(1)概念:Facebook为解决海量数据统计分析而开发的基于Hadoop的数据分析工具(没有存储数据能力,有使用数据的能力),而且是将结构化的数据文件映射为一张数据库表(结构化是它对于存储在HDFS上的数据的一个要求,其他的文件是不能映射为Hive表),而且它提供的是类SQL查询功能,所以在数据使用的时候给我们提供了很大的方便。
(2)作用:是一个数据仓库工具,没有数据存储功能,它的数据是从HDFS来获得的,但是它又不能直接从HDFS进行数据访问,它是通过MapReduce来实现的,本质上也就是将HQL语句转换为MapReduce的任务,然后来进行数据访问。