阿里云 EMR最佳实践和容灾
阿里云EMR(Elastic MapReduce)是一项 Web 服务,简化了大数据处理,提供的大数据框架可以让您轻松、高速、经济、安全、稳定地处理大数据,满足如日志分析、数据仓库、商业智能、机器学习、科学模拟等业务需求。
一. 最佳实践
1. 混合使用包年及按需计费,节约成本
数据都存在热、冷的差异。一般建议把冷数据存放在OSS中,热数据放在本地HDFS中。晚上00:00-06:00按需运行,运行完成后释放集群,节约成本。晚上ECS水位低,比较容易申请到大集群。
服务端会把这些信息存储在OSS中,再启动E-MapReduce中的Hive脚本分析这些数据,如:统计pv和uv,再把每个链接的访问情况存储在RDS中,最后通过报表系统展示。
3. 离线处理+在线服务进行多维度信息统计
比如考虑到这样的一个场景,车载APP会实时上传汽车的物理指标,包括车速、发动机功耗、电池电压等,这些信息首先存储到EMR Hbase中,再启用E-MapReduce的hive或者mapreduce或者spark离线分析,按照城市的粒度,即分析出来某个城市某个时段的车辆出行率、出行里程平均数、车速平均值、平均油耗、出行车辆数、平均怠速时间、剧烈驾驶次数,这些信息又存放到Hbase中做成服务。
4. 离线处理-推荐(机器学习)
用户会对视频发生点赞、喜欢、收藏、分享、观看等行为,将用户对某个视频产生同一行为的用户进行关联分析建模。然后当某个用户看了某个视频,而相关联的好友用户没有看过该视频的话,就会在该用户观看视频播放器的下方进行推荐。整个过程用了协同过滤算法。主要是spark mllib分析oss中用户的日志,存放在rds中。
5. 实时处理-监控报警
统计数据从多个维度来展现当前服务质量,例如各种请求状态码占比,请求接口占比,每种请求的状态码占比,请求延时分布,每种请求的时延占比。最终结果可以呈现给运维人员或者开发人员,用来进一步保证服务质量和优化服务性能。如果出现一些异常情况,则报警给运维人员或者开发人员。主要的架构就是使用了spark streaming接受logservice实时推送过来的日志,分析完成后,实时存放到rds中,出现问题时监控报警系统会触发报警。
6. 在线离线混合
例如一个有用户浏览的网站,日志信息用logService接收。一方面存入到OSS中,晚上启动E-MapReduce离线分析,比如,页面的UV、从A页面到B页面的调转,提供运营同学数据化支持。另一方面,用户在不断浏览过程中,我们希望根据浏览情况实时自动推荐用户内容,E-MapReduce spark Streaming就实时接收 logService的数据,再结合spark mllib的算法,自动算出推荐内容,存储到RDS中,前端用户浏览时推荐的内容会实时发生变化。
二. 容灾设计
1. 数据容灾
Hadoop分布式文件系统(HDFS)将每一个文件的数据进行分块存储,同时每一个数据块又保存有多个副本(系统默认为每一个数据块存放3个副本),尽量保证这些数据块副本分布在不同的机架之上(在大多数情况下,副本系数是3,HDFS的存放策略是将一个副本存放在本地机架节点上,一个副本存放在同一个机架的另一个节点上,最后一个副本放在不同机架的节点上)。
HDFS会定期扫描数据副本,若发现数据副本发生丢失,则会快速的进行数据的复制以保证副本的数量。若发现节点丢失,则节点上的所有数据也会快速的进行复制恢复。在阿里云上,如果是使用云盘的技术,则在后台每一个云盘都会对应三个数据副本,当其中的任何一个出现问题时,副本数据都会自动进行切换并恢复,以保证数据的可靠性。
Hadoop HDFS是一个经历了长时间考验且具有高可靠性的数据存储系统,已经能够实现海量数据的高可靠性存储。同时基于云上的特性,也可以在OSS等服务上进行数据的额外备份,来达到更高的数据可靠性。
2. 服务容灾
Hadoop的核心组件都会进行HA的部署,即有至少2个节点的服务互备,如YARN,HDFS,Hive Server,Hive Meta,以保证在任何时候,其中任何一个服务节点挂掉时,当前的服务节点都能自动的进行切换,保证服务不会受到影响。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何在万亿级别规模的数据量上使用Spark
一、前言 Spark作为大数据计算引擎,凭借其快速、稳定、简易等特点,快速的占领了大数据计算的领域。本文主要为作者在搭建使用计算平台的过程中,对于Spark的理解,希望能给读者一些学习的思路。文章内容为介绍Spark在DataMagic平台扮演的角色、如何快速掌握Spark以及DataMagic平台是如何使用好Spark的。 分享之前我还是要推荐下我自己创建的大数据学习交流Qun531629188 无论是大牛还是想转行想学习的大学生 小编我都挺欢迎,今天的已经资讯上传到群文件,不定期分享干货, 二、Spark在DataMagic平台中的角色 图 2-1 整套架构的主要功能为日志接入、查询(实时和离线)、计算。离线计算平台主要负责计算这一部分,系统的存储用的是COS(公司内部存储),而非HDFS。 下面将主要介绍Spark on Yarn这一架构,抽取出来即图2-2所示,可以看到Spark on yarn的运行流程。 图2-2 三、如何快速掌握Spark 对于理解Spark,我觉得掌握下面4个步骤就可以了。 1.理解Spark术语 对于入门,学习Spark可以通过其架构图,快速了解其关键...
- 下一篇
Elasticsearch结构化搜索_在案例中实战使用term filter来搜索数据
1、根据用户ID、是否隐藏、帖子ID、发帖日期来搜索帖子 (1)插入一些测试帖子数据 POST /forum/article/_bulk { "index": { "_id": 1 }} { "articleID" : "XHDK-A-1293-#fJ3", "userID" : 1, "hidden": false, "postDate": "2017-01-01" } { "index": { "_id": 2 }} { "articleID" : "KDKE-B-9947-#kL5", "userID" : 1, "hidden": false, "postDate": "2017-01-02" } { "index": { "_id": 3 }} { "articleID" : "JODL-X-1937-#pV7", "userID" : 2, "hidden": false, "postDate": "2017-01-01" } { "index": { "_id": 4 }} { "articleID" : "QQPX-R-3956-#aD8", "userID" : 2,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6