摘要:在大数据上云特惠活动系列直播中,来自阿里巴巴的产品专家雷彪为现场的听众带来了《助力云上Hadoop-EMR新特性解读与展望》的精彩分享。在本次分享中,他重点介绍了来自阿里云的产品EMR,运维方如何进行大数据的良好管理,EMR在哪些方面进行了性能的增强,具有哪些新的能力以及对EMR未来的展望。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧
直播视频请点击
PPT下载请点击
以下内容根据现场分享整理而成。
EMR简介
目前在阿里云上负责整个Hadoop生态的运行和维护的,是来自阿里云的产品EMR。
E-MapReduce 是基于开源大数据生态系统,提供包括 Hadoop、Hive、Spark、Kafka、Storm,Impala等等开源软件,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。
更好的运维
勿在浮沙筑高台,大数据的良好管理是上层业务的基本保证。运维方要保证大数据平台具有服务稳定性,运维易用性,数据可靠性,并且可持续发展。
界面化
我们希望集群的运维、管理是通过Web界面来做,而不需要再登录到集群上去做一些命令行的操作。举例来说,Web化的管理可以创建集群,扩容集群,释放集群,编辑作业,调度作业,修改配置等。
简化资源管理,按量转包年。在阿里云上做测试的时候按量测一天,如果结果满足需求,就可以选择集群包年。这样可以做到快速尝试,然后转为低成本的模式。
下面为一个界面化的例子。
自动化
集群做维护的时候,很多都可以被自动平台替换。比如说集群的服务的核心指标监控。集群组件版本的升级。
每一个集群都会有自己核心的指标,我们会对核心指标进行监控和报警。控制集群的稳定性,保证核心作业的资源。还是需要了解相关的知识,但是不再需要在命令行下去配置多个master节点。也不需要担心修改错误的值,会协助进行校验。
在集群使用方式上,我们使用Gateway方式进行提交。
这种方式的优点主要有:更好的控制负载,多租户的环境隔离,高可用的组件支持。
更安全
随着大数据的发展,数据量越来越多,业务部门越来越复杂。大数据并不是人人都能看的数据,仍然需要数据安全等级。根据用户的权限,以及数据重要级别的不同,对不同的用户进行不同的权限控制,包括:计算资源;HDFS、Hive数据;HBase;Kafka等等。
我们现在使用的是社区Kerberos的方案。这种方案存在的问题主要有:
·使用成本高;配置和管理麻烦
·只支持用户名密码的认证方式
·无法集成已有的认证系统
在阿里云的EMR里面,引入了一个更细化的权限管理的工具—Ranger。
Ranger在多租户场景下,可以对Hadoop生态中的HDFS/Hive/YARN/Kafka/Storm等组件进行细粒度的权限访问控制,并且提供了UI方便管理员进行操作。
它有以下好处:
·中心化的管理所有组件权限,且通过Web UI的方式
·支持实现更加细粒度的权限控制,比如hive表中固定列的权限控制
·可以进行复杂的多个组件间的组合授权
·统一定义了一套授权的规则
性能增强
阿里云在前期满足了大部分用户组件平台或者说功能性需求之后,发现用户对性能是有要求的,特别是一些常见场景。我们在Hadoop基础上做了一些深度性能优化。
SmartData是开源大数据部门目前正在开发进行的一个大数据项目,其主要目标为 EMR 各大计算组件和Serverless产品,提供优化的数据访问和基础性的数据服务能力;对开源大数据生态系统和阿里云线上产品的各种数据组件,例如Hadoop/HDFS,Hive,OSS,ODPS,能够敏捷地连接、迁移、同步、比对,并提供优化的读写访问操作。
新的能力
更好用的Kafka
它主要解决社区版本监控不完善的问题。包括以下几部分:
·Kafka的监控和预警
·Schema Registry支持
·Kafka connect支持
·数据的ReBalance
新组件Druid
它是高性能的海量数据实时查询和分析系统,支持实时数据的分析和查询。支持超大数据量,可以到100PB;支持毫秒级的查询性能。
适合场景有:广告平台数据分析,实时指标监控以及用户行为分析。
这些场景的特点都是拥有大量的数据,且对数据查询的时延要求非常高。例如在广告程序化交易中,广告平台的出价策略来源于广告流量数据的分析,整个过程要求实时,因为市场变动很快,根据第一天的流量计算第二天的出价是没有意义的,这里的联动需要做到秒级。实时指标监控类似,在一些重要的场合,系统问题需要在出现的一刻被检测到,并被反馈随后被解决。商业上一分钟的宕机就是非常严重的损失。在用户行为分析中,分析人员需要在多个维度分析数据提炼用户行为,这是一种探索式分析,要求每一次探索时间尽可能短,以便于分析人员通过不断的分析快速修改模型。
深度学习
在新的版本中,我们会提到深度学习。深度学习在硬件上,支持各种GPU机型,组成一个CPU+GPU的异构集群。在软件方面,支持在EMR集群中,基于Yarn来统一调度所有的计算引擎,包括Spark和TensorFlow。
Spark Adaptive Execution
SQL在大数据领域使用越来越广泛,很多开源组件都提供了SQL引擎,大大降低了用户对大数据进行挖掘和探索的成本,如Hive/SparkSQL/Presto/Impala等。
但是在实际SQL使用过程中,针对各种各样的数据集,用户还是需要花费大量的精力进行调优,从而能够更快的执行,花更少的资源拿到更快的结果。
SparkSQL的Adaptive Execution自适应执行框架在SQL的易用性和性能等方面做了相关的优化工作,主要针对以下问题:
·动态调整reducer个数
·动态优化物理执行计划
·动态处理数据倾斜
展望
EMR后续会向什么方向发展?Hadoop会做什么更高级的东西?
智能集群
能够做到真正的智能,体现在集群能够自我优化。自助的对集群进行分析,并给出建议,就像一个医生一样。
·服务日志监控,oom exception
·系统日志的异常,包括了内核异常,磁盘异常
·系统指标分析,内存使用情况,cpu使用情况
·失败作业分析,优化建议
不断变化的弹性集群
在云上,我们希望EMR能够提供更强的弹性集群。
工作流
原来的工作流不支持DAG,管理上很麻烦,列表也不是可视化的操作方式。
Hadoo 3.x现在越来越稳定,我们会在后续版本中跟上社区步伐,推出最新版本,让一些有尝鲜精神的用户感受到新版本的能力。
大家如果有任何需求与咨询可以点击链接提交:
https://market.tianchi.aliyun.com/outsource/offer/publish.htm?type=PROJECT