EMR 弹性数据湖分析最佳实践
本篇内容将从3个部分为读者介绍关于EMR弹性低本钱离线大数据分析最佳实践,期望可以让我们对EMR有更深化的了解,并可以将这些特性运用到项目中,到达降本提效的意图。
- 最佳实践原理说明
- EMR中心产品说明
- 最佳实践系统建立
一、最佳实践方案说明
1. 分析效果
在上图的demo中,分别进行了Hive on MR 和 Hive on tez 的日志数据分析, Hive on tez 的履行功率优于Hive on MR 。现在EMR的Hive引擎支撑 Hive on tez 。
展示了无缺的电商网站 demo 建立、日志埋点、日志发生、日志投递、分析作业和分析作业流的建立,EMR核算集群弹性弹性等中心进程和才干可以参看本实践来了解怎样根据阿里云公有云产品建立和完善自己的离线大数据日志分析系统。
2. 场景描绘
- 本最佳实践说明了怎样根据阿里云产品快速建立一个企业级的离线日志大数据分析系统,这儿以建立一个电商网站用户访问行为日志分析系统为例。
- 其间用到的中心产品是阿里云推出的大数据分析途径EMR,其供应了一站式的大数据系统处理处理方案。
- 本最佳实践使用EMR结合阿里云日志服务SLS、方针存储OSS和云数据库RDS MySOL 版等产品构建一个海量低本钱弹性的离线电商网站用户访问行为日志大数据分析系统。
适用客户有以下:互联网职业客户,例如电商生意客户等;业务为需求进行离线大数据分析,例如用户网站访问行为日志;数据现已运用了阿里云EMR或者预备运用;具有1-5名有Hadoop布景的工程人员;原有服务根据开源算法系统,但是受限现有人员和本钱无法进一步进步。
3. 系统架构图
最佳实践的产品列表
系统架构是运用了阿里云的CADT东西进行安置,用户也可以根据本最佳实践供应的系统架构图进行一键式的本系统资源构建和安置最终用于实践的测验和验证。
4. 中心产品EMR
EMR是阿里云阿里云推出的企业级大数据分析途径E-MapReduce(简称EMR),EMR完全兼容开源Hadoop生态系统,并且根据阿里云大数据团队丰盛的研发运维阅历对相关组成供应了优化才干,例如权限认证、核算引擎、集群处理、作业处理和调度处理、根底资源的弹性才干等。并且EMR可以与阿里云的其他云产品进行无缝集成,例如本实践里EMR可以直接分析消费存储在OSS上的海量日志,供应了核算存储分别的离线大数据分析架构,便使用户进行运维处理、作业分析的一同,极大的节省了大数据分析系统的核算和存储本钱。
5. 业务流程图
在这个离线大数据分析系统中,首要根据阿里云的SLB、ECS、RDS等云产品建立了一个简略的电商生意网站,并且在网站页面代码里植入了用户访问行为埋点日志收集,结合阿里云日志服务SLS供应的Webtracking才干将用户访问日志实时传送到SLS的logstore里面。接下来通过SLS的logshipper才干将SLS中存储的日志准实时地投递存储到阿里云的方针存储OSS上面,最终通过阿里云EMR的离线大数据分析引擎Hive消费分析存储在OSS上的日志。在这个进程中展示了EMR在大数据分析作业的作业开发、作业流规划和处理大数据中心系统参数处理等的便捷才干,一同也展示了一迈在底层根底资源的弹性才干。通过本实践用户可以知道怎样通过阿里云的多个云产品来无缺的构建自己的核算存储分别架构的离线大数据分析系统,优化和节省核算及存储本钱,一同也可以简化用户的大数据分析系统的运维本钱。
6. 方案优势
阿里云弹性低本钱离线大数据分析系统方案的优势如下:
- 阿里如此原出产品组合丰盛,生态完善。资源丰盛,产品组合多样,"日志服务+存储服务+大数据分析途径"组合运用。
- 阿里云具有老练的企业级大数据分析途径EMR。完全兼容开源生态系统,并在开源生态根底上强化; 随同社区生态的发展,全球安置;无缺的企业级一体化途径,支撑集群处理、作业处理&调度处理。
- EMR可以供应核算与存储分别的大数据分析途径。 核算与存储分别架构,优化用户资源本钱;核算资源弹性弹性、集群快速安置。
二、EMR中心产品说明
1. EMR软件栈
EMR是阿里云上一款开源大数据途径产品,EMR首要由四个首要组成部分。
- 榜首部分是对接开源生态,这部分首要对接了常用的开源大数据产品,产品和组件包括HDFS、YARN、Kudu等存储核算引擎,这部分100%选用开源组成,用户是在运用的时分可以完全无缝与现有的大数据产品运用习气完全相同。
- 第二部分是EMR在完全兼容开源API接口根底上结束了内核的中心增强,比如Spark、Flink、TensorFlow、Delta Lake等开源组件。
- 第三部分是EMR自研的包括监控告警、智能运维、JindoFS、EMR Agent等集群处理和在运用开源大数据组件时和云生态对接的一些功用。
- 第四部分是与阿里云密切配合的其他云产品,比如OSS、日志服务SLS、ECS、ECI、ACK等产品。
2. EMR VS开源大数据处理途径
EMR 与开源大数据自建途径相比,具有低本钱、大规模、丰盛云生态、高性能四个中心性能的增强。
在本钱方面,通过结束弹性弹性、Spot+预留实例的购买方法结束了核算本钱下降20%以上,结束数据全生命周期处理、数据分层存储使存储本钱下降了10%以上。
EMR具有丰盛的集群处理阅历,可以在数千台的大规模集群上结束快速的向HDFS、DataNode、NameNode的翻滚重启、DAtaNode的Decommission优化、YARN大规模资源调度优化等功用。
EMR与开源云生态的结合,Dataworks、PAI是核算途径优异的作业流处理和处理以及机器学习东西,可以与EMR无缝集成。一同EMR根据ECS可以结束一些安置集逻辑严峻打散以及E2E的运维流程。
EMR相比较与开源性能大幅进步,如AE、物化视图、runtime filter、Remote Shuffle Service,极大地进步了在核算性能上、核算稳定性上的跃升。
三、最佳实践系统建立
1. 通过CADT安置资源
- 登录云速搭CADT处理控制台。
-
单击新建 > 官方模板库新建。
-
找到“EMR弹性低本钱离线大数据分析”模板,单击根据方案新建,可以根据详细业务需求运用该公共模版并配备自己需求的参数进行资源架构的创建。
-
用户配备好相关参数,如VPC设置、vswitch配备、SLB配备、eip配备等等,单击右上角的保存,并设置运用称谓。
-
单击安置运用。
-
按界面提示顺次结束资源校验、供认运用本钱并付出下单,创建资源。
2. 建立电商网站Demo
RDS数据库配备
-
进入 RDS 控制台,找到创建的实例,单击处理,找到并记载 RDS 的内网地址。
- 进入数据库处理,创建新的数据库。
电商运用设备
-
在 SLB 控制台找到之前创建的 SLB 实例的 EIP 地址,进行复制,在浏览器翻开。
-
查看设备环境
- 环境正常,进行下一步设备。
-
从 RDS 中获取数据库内网访问地址,输入账号密码和数据库称谓。
- 填写电商网站的前台和后台地址,单击下一步。
- 进行商铺个性化配备,选择时区、钱银、言语等。
7.进行后台处理员账号配备。请保存好设置的处理员账号和密码,以便后续进程登录电商后台处理界面运用。
8.开端进行设备,忽略进度条。
-
稍等一会,运用 SLB 的 EIP 地址用浏览器翻开,可以访问电商网站前端界面表明设备成功。
3. 电商网站日志出产
OSS Bucket相关配备
-
在通过 CADT 安置资源中现已运用 CADT 安置了该实践所需的 OSS Bucket。
-
双击选择创建的 OSS bucket,然后选择文件处理 > 上传文件,将 loghub-tracking.js脚本上传到该 bucket 下。
-
同样在该 Bucket 的“文件处理”作业界面的 “新建目录”下创建一个名为 tes2 的目录供后续寄存从 SLS 投递过来的日志。
SLS日志服务WebTracking配备
- 在通过 CADT 安置资源中现现已过 CADT 开通了该实践所需的 SLS 的 Project 和logstore,并且开通了 WebTracking 功用,在日志服务控制台的接入数据界面找到WebTracking(支撑含糊查找)。
-
开端进行 WebTracking 功用配备。
电商网站埋点
-
运用之前电商网站建立时设置的处理员账号和密码登陆电商网站后台处理界面(http://SLB 的 EIP 地址/admin),进入内容配备页面,修改主站的规划。
-
在 HTML Head 的 Scripts and Style Sheets 处,刺进如下内容并保存(可以从附件中复制),注:第 2 行的 loghub-tracking.js 寄存地址和第 4 行的日志服务 SLS 的 project名和 logstore 名请根据用户自己的实际情况进行修正。
- 访问电商网站页面就会把埋点日志上传到 SLS 日志系统。进入 Logstore 查看日志,仿照用户行为的日志数据现已生成并上传到了日志库。
4. 日志投递到OSS
打开日志投递
-
在打开日志服务数据投递到 OSS 之前,用户首要需求结束云资源访问授权,用户访问链接 https://help.aliyun.com/document_detail/29002.html,然后单击云资源访问授权,结束云资源对日志服务的访问授权。
- logstore 的日志投递到 OSS 需求获取用户的 ARN,接下来获取 ARN,首要进入访问控制(RAM)控制台。
- 然后在 RAM 控制台选择“RAM 人物处理”, 单击“AliyunLogDefaultRole”这条 RAM人物,获取用户的 ARN。
-
接下来在日志服务控制台单击之间创建的 Project 进入日志库,开端进行日志投递到OSS 的配备;然后单击 OSS 以及“打开投递”,预备投递日志到 OSS 服务的相关配备。
-
单击供认,供认日志投递到 OSS 的配备。
-
再次运用前面创建的 SLB 的 EIP 地址直接浏览器访问仿照的电商网站,就会履行脚本不断生成新的访问日志。
查询OSS上的日志存储
-
在日志服务控制台选择创建的日志库,查看日志投递到 OSS 的使命每隔 5 分钟(默许,也可以自定义设置)现已生成并投递成功。
- 在 OSS 控制台对应的 bucket 下的文件目录可以查询到已投递过来的日志。
5. EMR集群配备
弹性EMR集群
- 运用前面的 CADT 东西现已创建好了本实践所需的 EMR 集群。
- 硬件配备,按量付费。
- EMR 集群默许不打开公网访问,如需通过公网访问,需求给 Master 节点挂载 EIP。
-
勾选服务条款协议,供认配备结束集群创建。集群创建成功今后,可以在集群处理 > 服务列表查看集群所能支撑的服务。
-
创建弹性弹性集群。
- EMR 控制台进入集群列表单击选择创建的集群,选择弹性弹性,在弹性弹性 > 弹性弹性配备里选择新建弹性弹性组,然后选择需求的核算机型和配备以及付费类型等,创建机器组。
- 对新建的机器组配备弹性弹性规矩。
-
添加扩容和缩容规矩,弹性规矩支撑按照规则时刻弹性和按照规则负载弹性。
-
打开弹性弹性状态。
-
在弹性弹性记载可以查看机器组机器的扩容和缩容记载。
我有话说: