大数据流式处理性能
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大数据流式处理
1.项目背景
网络发展迅速的时代,越来越多人通过网络获取跟多的信息或通过网络作一番自己的事业,当投身于搭建属于自己的网站、APP或小程序时会发现,经过一段时间经营和维护发现浏览量和用户数量的增长速度始终没有提升。在对其进行设计改造时无从下手,当在不了解用户的浏览喜欢和个用户群体的喜好。虽然服务器日志中明确的记载了用户访浏览的喜好但是通过普通方式很难从大量的日志中及时有效的筛选出优质信息。Spark Streaming是一个实时的流计算框架,该技术可以对数据进行实时快速的分析,通过与Flume、Kafka的结合能够做到近乎零延迟的数据统计分析。
SSP项目主要是采用实时处理方式,主要分析统计点击日志、曝光日志、媒体请求日志、媒体请求返回日志等日志的用户行为分析。
2.案例需求
要求:实时分析服务器日志数据,并实时计算出某时间段内的浏览量等信息。
使用技术:Flume-》Kafka-》SparkStreaming-》MySql数据库
3.案例架构
架构中通过Flume实时监控日志文件,当日志文件中出现新数据时将该条数据发送给Kafka并有Spark Streaming接收进行实时的数据分析最后将分析结果保存到MySQL数据库中,再通过可视化界面展示给运营和相关管理人员。结构图3.1所示。
.
图3.1实时处理架构
在本篇文章中使用Flume+Kafka+Spark Streaming具体实现大数据实时流式数据采集的架构图如图3.2:
图3.2实时采集日志架构图
4.环境准备
4.1大数据平台
基于Cloudera Manager集群构建大数据生产环境,基于CDH5.12.0版本安装部署的,此次项目所用到的组件包括Flume、Kafka、Spark、Yarn、Zookeeper、
MySQL。大数据平台组件如图4.1所示
图4.1大数据平台组件
4.2大数据平台服务器配置
大数据平台为5个节点。集群服务器按照节点承担的任务分为管理节点和工作节点。管理节点上一般部署各组件的管理角色,工作节点一般部署有各角色的存储、容器或计算角色。根据业务类型不同,集群具体配置也有所区别,根据申通大数据的集群定位为海量数据存储和实时计算、数据挖掘、数据分析、人工智能,这些计算场景对磁盘的IO、CPU、内存要求较高,服务器配置如表4.1:
内核数8核/CPU(或者可选用8核
/CPU),主频2.3GHz或以上
8核/CPU(或者可选用6核/CPU),主频2.3GHz或以上
内存4x 32GB DDR4 共128GB内
存
4x 32GB DDR4 共128GB内存
硬盘2个1TB的SAS硬盘(2.5或
3.5寸), 15KRPM,RAID0+1
2个1TB的SAS硬盘(2.5或3.5寸), 15KRPM,RAID1
2个1TB的SAS硬盘(3.5
寸),10000RPM以上,不使用RAID
网络1块双口千兆以太网卡1块双口千兆以太网卡
阵列控制器(支持RAID 0/1)阵列控制器(支持RAID 0/1)硬件尺寸1U 1U
接入交换机推荐使48个千兆和6个4千兆空口的千兆网交换机,可堆叠;
或选用48口千兆交换机,要求全千兆,可堆叠
数量 2 6
表4.1大数据服务配置
4.3日志服务配置
4.5.数据库服务器配置
5.数据处理过程
在172.16.189.188/218/227/228/233 5台日志服务器上,通过flume实时采集点击日志、曝光日志、媒体请求日志、媒体请求返回日志等数据,将数据发送给hadoop平台上的flume 各个日志进行汇聚,然后再将日志传kafka topic中,
sparkspreaming 每隔一分钟处理一次kafka topic中的日志,按每小时对数据进行叠加汇总。对日志的各项指标进行统计分析,指标包括:点击日志、曝光日志、媒体请求日志、媒体请求返回日志等日志的用户行为分析。
6.测试过程
6.1测试指标
6.2测试流程
6.3 spark实时处理的吞吐量