1. 1.58元/小时起快速体验 Hadoop & Spark ,为你助力大数据计算
阿里云EMR是基于 Hadoop 的生态环境来搭建,同时可以跟阿里云的对象存储服务OSS等云服务进行无缝数据交换,方便用户将数据在存储平台和计算平台之间进行输入输出,以满足不同业务类型的需要,所以对阿里云EMR充满期待。
在登录和打开阿里云 EMR的console web界面时,被阿里这种简约扁平化设计风格深深吸引着。
其中阿里云EMR的”概览、集群、作业、执行计划、报警、帮助”六大模块,操作起来简单易上手,但其底层实现的架构设计必定很复杂。其中阿里云EMR的各种文档很齐全,很方便我们能够快速了解和迅速部署我们自己的EMR集群。
2.深究ETL业务逻辑
在计划迁移Rundeck上的Product Job到阿里云EMR上,一定要先充分地了解现有业务的处理逻辑、Job脚本代码以及集群组件Hadoop、Hive环境等。为了不影响现有产品环境的稳定性,所以一般要先选择Stage的Job进行迁移,调试。其ETL业务在ETL Cluster的基本架构如图所示:
3.调研阿里云EMR产品
在接下来的工作中,仔细调研阿里云EMR产品,发现有这么四点优势吧。
由于我们的Product Job是每天凌晨run,所以阿里云EMR的按需创建方案很适合我们当前的ETL 业务,而且当Job run结束时,无论执行计划是否成功,都会释放集群资源,降低企业的cost。
4.定制化所属自己的集群环境
当前我们的业务是Log ETL 离线处理,当前集群环境是CDH5.4.8(Hadoop2.6 + Hive1.1.0),其中在阿里云EMR集群中,只提供Apache Hadoop2.7.2+Hive2.0.0组合,由于业务环境的jar包和hive sql的某些特性是Hive低版本特有的,高版本现在处于bug中,所以与阿里云EMR的Hive2.0.0兼容效果不是很好。
所以这里要感谢@阿里封神提供一个非常赞的idea给我,是将EMR集群自带Hive2.0.0给替换成我们特定hive-1.2.1-emr版本。需将该版本打包存放在OSS存储上,因为OSS到EMR集群,下载速度无带宽限制,非常迅速,最终我们选择Apache Hive版本为1.2.1,接下来就是调试踩坑和打补丁编译版本。所以这块时间花费整个迁移项目时间的1/2。
5.迁移Stage Job至阿里云EMR的流程
EMR集群的机器配置:
其具体流程:

在迁移过程,有几点建议:
6.验证阿里云EMR Job Run数据的准确性
当迁移好Stage job,那么接下来要验证rundeck job跑的数据结果和阿里云EMR 的job跑的结果,一般我们的开发人员或者Owner采取两种方法来验证。
7.迁移Product Job 至阿里云EMR和验证结果数据准确性
接下来迁移Rundeck Product Job至阿里云EMR上,其实主要修改两点:
8.停止前身Rundeck Job,正式调度阿里云EMR的执行计划
将Rundeck的Product Job暂停调度,停止集群服务,释放CPU和Memory资源。
然后正式配置、调度阿里云EMR的ETL Product的 执行计划XXX_Product-EMR_ETL。
9.未来规划
目前,泰为信息科技(上海)有限公司的中国区项目资源基本都使用了阿里云的ECS机器资源,OSS存储资源,负载均衡,专有网路VPC等;在未来,我司会根据项目的需求和管理性等,会继续调研迁移项目,上云数据库RDS、Redis和数加等产品。
10.小小总结
从公司方面来说:
从个人方面来说:
从我们对阿里云EMR希望方面来说:
最后总结一下,阿里云EMR从2015年11月发布EMR-1.0.0版本以来,至今才1年不到,已经升级为EMR-2.1.0版本,增加了许多的功能,如用户作业信息加密、与OSS存储无私接缝等等。无论是在开发者社区还是在微信阿里云大数据群组里,EMR的开发者们积极与我们沟通,及时认真回答我们提出的每一个问题,及时听取我们用户的需求。所以我们有理由地相信,阿里云EMR在未来,会越走越远,越做越好!
11.参考文档
泰为公司成立于1999年,总部坐落于美国硅谷所在地加利福尼亚的桑尼维尔市。泰为公司是全球无线位置领域的领跑者之一,其手机导航产品曾服务于无线运营商AT&T, Sprint, CMCC等。Telenav自有品牌Scout产品,是当今能与Google map和Apple map竞争的为数不多的产品。也是全球车载导航产品的供应商,目前其导航产品正在Ford等世界顶级车厂中进行商用服务。
说明: 该文为博主亲自撰写,委托阿里运营部发表
阿里运营部发表出处: https://yq.aliyun.com/articles/62933
关于作者:主要从事大数据平台产品的技术工作;负责设计、构建和优化基于HDFS/HBase的存储平台架构;负责整体提升Hadoop/Hbase等集群的高可用性、高性能、高扩展特性;负责对公司的Apache Hadoop1.2、CDH4及CDH5集群的部署、监控、调优和运维;此外,还精通Java、Shell、Python编程和管理SQL数据库及熟悉NOSQL的经验。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30089851/viewspace-2128535/ ,如需转载,请注明出处,否则将追究法律责任。