文章布景
个人日常工作中,会涉及到多云的大数据环境运用及运维,首要涉及到AWS云EMR、阿里云 EMR、还有华为云MRS,所以一向考虑开一篇文章,来描绘下个人在运用云上大数据集群服务(Elastic Map Reduce)的一些个人的感悟,期望也能协助后续上云的朋友,能够供给一些不一样的视角来感受下云上大数据服务。
本文并没有包括一些实战内容,而是从个人最佳实践以及踩过的一些坑来进行总结,分享下个人的一些经验和计划,测验在大方向上横向对比下两朵云(AWS和Aliyun)上EMR服务的体会。
当然假如我们想了解实战内容,能够留言反馈具体方面,我也测验写一些实战内容。
功用架构篇
先上官方的两张的描绘自己的EMR 架构图片, 我个人直观感受仍是比较喜爱AWS 这种风格,描绘的简单明了,一起实际上内部的功用并不别阿里云的少,仅仅并没有想经过一张图片就想悉数展现出来。 阿里云的便是有点过于丰厚了,想经过一张图片把所有的东西都展现出来,有点堆砌的感受。
产品形态对比
两个EMR 的产品形态对比,咱们一一对比:
AWS EMR | Aliyun EMR |
---|---|
AWS EMR on EC2 | Aliyun EMR on ECS |
AWS EMR on EKS | Aliyun EMR on ACK |
AWS EMR on Serverless | Aliyun EMR on Serverless |
AWS EMR on Outposts | 无 |
AWS EMR on EC2 VS Aliyun EMR on ECS:
本质上都是基于各自云服务上的主机建立的,也便是核算节点便是云主机,可是收费形式都有包年包月,按需付费,竞价节点形式 这块基本上没啥差异,首要是体现在费用的问题。
- 包年包月:便是提早约好好运用长周期,能够享必定折扣
- 按需付费:按实际运用时长付费,毁掉之后就不再收费,更为灵活,可是每小时单价更高一些
- 竞价节点:按竞价高低付费,能够设置竞价上限,日常平均会比按需便宜50%以上,要看具体可用区的资源严重程度,可是会存在资源被其他方抢占,或许可用区无竞价资源导致申请不下来核算节点
AWS EMR on EKS VS Aliyun EMR on ACK:
EKS ACK 分别是各自云服务的保管的Kubernetes服务,EKS背后能够是EC2或许Fargate,Fargate能够了解更细粒度的运用核算资源,AWS EMR on EKS 和 AWS EMR on EC2 之间的差异,能够看下图。
Aliyun on ACK 集群相同底层有ECS和ECI, 一起我看官网首要描绘的优势为:同其他运用同享一个集群,完成核算资源跨可用区同享。
AWS EMR on Serverless VS Aliyun EMR on Serverless:
Serverless 服务即为无服务器服务,让运用者不需求考虑服务器等资源,专注于即时运用,用后毁掉。
- AWS EMR on Serverless:结合aws emr studio 开发spark或hive使命,然后经过emr on serverless履行,方便数据科学家用来运用,一起不需求考虑aws emr 背后的架构以及装备。
- Aliyun EMR on Serverless:现在来说 阿里云的是单指Starrocks的serverless,也便是阿里云基于开源版starrocks 适配,构建在阿里云上,一起starrocks自身是MPP架构,也适合横向扩展,从我个人了解上来说,其实这块是归于OLAP的,可是阿里云把它归集到EMR内,估量也是考虑到一般用EMR的场景也是会需求OLAP处理计划,可是这儿并不是真实的Serverless,仅仅供给了一个快速弹性的功用,运用时快速扩展核算节点。
AWS EMR on Outposts
这种处理计划现在阿里云还没有跟进,Outposts能够了解为,一些大一点的厂商,期望用AWS云的服务一起又很看重数据安全性,AWS能够支持在厂商的数据中心布置一整天AWS服务,可是网络是和外部隔离的,安全性更有保障,EMR on Outposts也便是能够在自己的数据中心中,运用AWS EMR服务。
计划挑选
假如是初度运用EMR服务的话,无论AWS仍是Aliyun都推荐直接运用EMR on 云主机(EC2 or ECS),相对基于EMR on Kubernetes(EKS or ACK) 来说,上手更简单,以及初期人工维护成本低,当使命上了必定规划,需求进行资源优化,能够再考虑逐渐切换到 容器编排上,降本增效,做精细化办理。
架构设计篇
节点类型
全体架构,阿里云和AWS云是相近的,都是分 Master -> Core -> Task 三种类型节点,阿里云特殊的包括一种叫做Gateway 的提交机,这个会独自讲下,然咱们先看下各种类型节点的功用。
- Master节点 : 也便是主节点,大数据集群的的一些服务的主节点都装备在这上边,Yarn,Hive,Hadoop 的NameNode,所以这个Master节点至关重要,所以一般假如出产环境装备,能够装备多个Master 节点,一个Primary,其他的为Slave节点,日常standby,主节点反常,进行主备切换。
- Core 节点:能够了解为 Hadoop DataNode ,HDFS存储的方位,一起也供给核算资源,可是EMR集群的运用中,一般不会把重要数据存储在这儿,云上都是核算存储分离,AWS云供给S3 对象存储,阿里云供给OSS对象存储,所以正确用法,只运用EMR的核算资源,HDFS只存储临时日志或许提交使命的相关依靠文件。这样就只会挂少数的云盘存储,节约存储费用。Core节点一般只需求少数固定数量就能够,一起需求留意Core节点不适合缩容,所以留意不要设置过大。
- Task节点:纯核算节点,不需求挂存储空间,依据核算规划调节数量,EMR一般供给体系自动扩缩容功用,可是实际出产中仍是主张依据事务自主控制
- Gateway节点:这个是阿里云特有的,个人认为比较有亮点的功用。gateway 能够了解为大数据程序提交机,能够经过gateway节点提交flink或许spark等使命,假如公司自身有自研体系,需求适配的话,只需求适配gateway,然后经过gateway 绑定到指定的emr集群,就能够了,完成解耦,后续毁掉或许从头创立emr,只需从头绑定即可。
实例类型挑选
Master节点有必要是按需或许包年包月的 Core节点也是要按需或许包年包月,现在来说测验过在AWS上core节点挑选过spot形式,可是呈现过,资源严重状况下,spot都被回收,emr集群全体不可用。 Task节点能够挑选Spot形式,可是也要分状况,假如是跑Flink这种常驻运用,就不适合用Spot形式,假如跑离线使命,重试战略,监控战略装备好,能够挑选Spot形式来搞,省钱很可观。 还有一种叫做实例队列形式,便是节点的实例类型能够选多种,方便后续扩容,缩容的时候依据场景,装备不同类型的实例(比方 核内存比 1:2, 或许1:8都选一些,敷衍不同场景),可是实际运用下来,这种的归于进阶装备了。
个人体会
技能角度:
作为一个技能人员,我在整套运用下来更偏好于AWS EMR的运用,说下我个人喜爱的几点:
-
文档全面: 无论是技能架构,根底运用教程,仍是最佳实践以及常见问题 都有具体的文档供咱们查阅,身为一名合格的技能人员,个人认为查阅技能文档是处理一般问题最快的途径,基本上AWS的技能文档能够处理我迄今为止遇到的90%以上的问题。但便是需求转变思想,做之前要先具体读相关技能文档,摸清全体架构以及功用。 反过来,阿里云这方面是反面了,许多文档过期,链接失效,乃至有的都是过错的,我有时是依照已知在AWS怎么装备,然后按图求索在阿里云上去找相关处理计划的。基本上许多问题都是直接钉钉提工单,可是基本上对接的技能口,也不是很懂有许多初级问题,都拿不准处理计划,然后不得不扩大范围,拉更多人来答复,十分耗时间。
-
版别的稳定,开源:基本上EMR上用到的都是主流的开源版别,所以各大厂商假如平常也运用的主流开源版别,那么上云搬迁进程,许多都是平替兼容的,不需求有多少大的改动,一起这样也不必担心被厂商完全绑定,能够仍旧连续开源框架。 反观阿里云,我们应该知道FLink的母公司,阿里几年前已经收了过来,所以EMR上flink 是对应的商业版别vvr一起内部有个加速层,jindo也是要闭源的相同要进行适配,所以全体上阿里云EMR有许多自己自研的一起还对用户暴露的服务,运用进程中要不适配,要不搬迁,假如能做到对用户运用透明,只体现在性能上就更好了。
-
技能支持:这一点上,仍是阿里云做的比较适合国人的运用习气,日常钉钉整个工单体系,只需有问题,直接钉钉群里艾特机器人,就能够里面创立私聊群,相关产品服务的技能支持人员就里面跟你交流,尽管技能专业性有待商榷,可是这样的服务水准和AWS比,简直是全方面吊打。平常或许没有感觉,假如遇到线上紧急出产事情,能够第一时间联系到云厂商,对一些初创小公司来说,会增加不少决心。 反观AWS,玩法不太相同,日常问题是需求提工单的,一起工单是分等级的,你需求购买相关支持力度的费用(比方谈天回复呼应时长一天,电话立即交流 呼应时间 分钟级,价格是不同的),可是全体服务水平比阿里云高许多,背后都是很专业的技能人员,一起具体问题,也会出具相关排查问题报告,告知你具体什么原因以及相关最佳实践的处理计划。
-
日常交流:阿里云是大群形式,只需你在云上用了哪些服务,都会拉一些相关技能专家进来,日常帮你答疑解问,相当于一个群里各种问题交织在一起,AWS不同的是首要有一名SA(处理计划架构师),是一名资格,技能才能全方位很厉害的,帮你答疑,假如遇到具体服务细节,才会拉专门同事交流,可是日常问题都会经过这名SA,先过滤一下。 这两种方法,只能说思路是完全不一样的,体会上也分公司而已吧。
公司角度:
假如从公司开展和数据敏感性上来说,估量基本上国内许多厂商仍是会偏重阿里云,说下个人的了解:
- 假如海外事务大多数还会用AWS云,因为国外的安全合规这块,仍是AWS耕耘的前史长,标杆在那里呢。相同国内来说,特别现在中美关系上来说,中心数据放在阿里云上更保几乎。
- 阿里云及时现在运用体会上略逊AWS,可是不得不供认,全体功用上和AWS不分上下,乃至有些状况下,阿里云更符合国人的习气,换个思路,上云是为了服务事务开展而不是为了技能人员体会,AWS尽管有些方面做的深受技能人员喜爱,可是现在国内全体云核算的普及还处在快速开展阶段,国内许多传统企业上云,可是企业内部技能人员对云核算常识水平有限,上云的教导和人力的投入也是必要的,这点上阿里云是符合国情的。 可是仍是期望后续技能专业度以及技能文档的准确性仍是有待进步的。
- 最终便是价格战了,基本上AWS上有的服务,阿里云上有相同对标的,尽管有些或许归于后面开展的,服务与服务之间协同才能弱些,可是才能距离没有显着到会影响到公司开展,一起不得不说,阿里云上也有许多有服务是AWS不具有的,这个细节便是见仁见智了。可是全体上阿里云产品是比AWS的产品便宜不少,以及商务洽谈,可竞价的尺度也不一样,这个就不展开说了。
总结:
个人第一次运用云上产品便是阿里云OSS,那时候仍是14年,可是关于当年刚入行的我来说仅仅用了表面功夫,跟着工作深入也用过一些小众的云,比方当年的乐视云,现在的青云,腾讯云也用上了一点。 19年跟着公司大数据全体上云(AWS云),我作为公司技能预研的角色以及施行小组中心成员,全面了解以及学习了AWS云,并亲手参加施行了大数据全体上云工作,第一次了解并运用了比如:VPC、EMR、IAM、Kinesis、Athena、RedShift、CloudWatch、Lambda、Organization等服务,并深入学习了云上的施行构建一整套流程。深受影响,并被吸引,后续为了加深了解云核算概念,我又在22年利用业余时间学习,并最近考取了AWS的SAA和SAP(solution architect professional)认证,这个进程中相当于对云环境有了更深入的了解,之后进程中我触摸的阿里云和华为云上相关产品,我都能够很简单的了解以及对各种服务的结合运用也称心如意。
云核算已经是当下技能人员的必学的一门课程,假如有时间也鼓励我们能够多了解学习,提高自己的专业才能,阿里云也有相关认证ACP和ACE,感兴趣的朋友也能够了解一下。假如有任何问题,需求交流交流也能够增加我的个人微信 coder_wukong,备注:云核算,或许关注我的公众号 WuKongCoder 日常也会不定期写一些文章和考虑。
假如觉得文章不错,欢迎我们点赞,留言,转发,收藏 谢谢我们,咱们下篇文章再见~~~