美柚与MaxCompute数据同步架构说明

简介: 美柚与MaxCompute数据同步架构说明

大美柚与MaxCompute数据同步架构说明

            2017/8/10   九戒
                                   

本文涉及到的重要概念:

  • MaxCompute:简单可以理解为开源的hadoop集群,可提供我们常用的MapReduce和SQL计算模型和数据存储.
  • 数加:基于MaxCompute之上封装的便于我们使用和管理MaxCompute的一个壳
  • ECS:阿里的云服务器
  • tunnelServer:用于和MaxCompute上传下载的数据通道
  • Datax:是一个异构数据源离线同步工具,Datax的odps插件底层基于tunnel SDK实现.
  • 默认资源:数加提供的用于运行Datax的服务器资源(常用于和MaxCompute之间的数据同步),目前只有在华东2区(上海)有机器
  • 自定义资源:我们提供的用于运行Datax的服务器资源,目前我们只有华北2区(北京)2台ECS
  • 专线:目前北京机房和北京ECS(华北2区)通专线,简单理解就是北京机房和北京ECS同属一个局域网,让两个机房间的通讯更稳定,快速.
  • 端口转发:简单的理解,一个网络端口,转发到另一个网络端口上(我们常用的是:从外网的某个端口转发到内网的某台机器的某个端口,这里是指从ECS的外网端口,转发到北京机房的某台机器的某个端口).
  • MaxCompute上传收费:上传不收费
  • MaxCompute下载收费:通过公网下载收费,是指MaxCompute到datax这个过程,我们在使用自定义资源的时候需在odps那端(reader)要使用"tunnelServer": "http://dt-ext.nu16.odps.aliyun-inc.com",这个配置才能走MaxCompute专线,且不收费,默认是走公网需要收费,这点大家要特别注意一下

敲黑板

在使用自定义资源与MaxCompute做数据同步任务,务必在odps端加上"tunnelServer": "http://dt-ext.nu16.odps.aliyun-inc.com",配置.免费且能提升同步速度

网络拓扑图

既然数加提供了默认资源为什么我们还要使用自定义资源?

目前默认资源只在华东2区有,而我们大部分的数据和机器在北京,只能通过公网进行数据同步,网络延迟比较大(33ms),且不稳定,经常出现time out情况.且默认资源会限速,而我们需要上传的日志量比较大,数据延迟会比较大,不能很好的满足业务需求.

为什么自定义资源放在华北2区?

因为我们北京机房和华北2区有专线连接,方便与北京机房的机器做数据同步

使用自定义资源给我们带来了什么好处?

  1. 华北2区的自定义资源可以通过MaxCompute专线(需要在任务里配置tunnelServer)连接MaxCompute服务,比通过公网连接更稳定,更快.
  2. 另一端,自定义资源和北京机房或北京ECS是通过专线或内网连接,网络也比公网更有保障.

总结一下怎么选择资源组

  1. 如果MaxCompute和华东区的ECS的数据同步,请选用默认资源
  2. 如果MaxCompute和(华北ECS或者北京机房)的数据同步有两种方式:

    • 通过自定义资源(如果操作见下文)
    • 通过华北ECS做端口转发:只需将北京机房对应机器的端口(一般是22端口),转发到ECS出口的某个端口(例如21222),然后使用默认资源,使用ECS的外网ip和端口就可以了.

什么时候用自定义资源?什么时候用端口转发?

  1. 对网络延迟比较敏感的用自定义资源(例如数据要写到北京ECS或机房上mysql,如果使用默认资源,容易报错,连接超时)
  2. 对网络延迟不那么敏感,且数据量不是很大的,可通过端口转发的方式进行数据同步,通过端口转发方式能满足需求的尽量使用这种方式,以免自定义资源负载过高.

怎么使用自定义资源?

  1. 项目配置自定义资源组:一个项目只需要配置一次,而且只有项目owner才有权限(这个不需要大家操作)
  2. 配置数据源:由项目管理员配置(一般来说一台服务器只需要配置一次),需要配置数据源服务器的内网地址,因此datax通过内网地址读写,更快速,稳定; 此时不需要测试连接,因为测试连接是通过默认资源发起的测试,所以网络不通.
  3. 编写数据同步任务:参看文档,只是数据源需要用第2步配置的数据源
  4. 修改任务的资源组:见下图步骤
  5. 运行: 这里只对新生成的实例生效,例如测试运行或补数据;而之前生成的实例,还是会用默认资源,会导致失败.

最后的废话

其实使用默认资源也是以上的这些步骤,只是有些步骤是默认值,不需要更改,例如:

  1. 项目配置资源组(数加项目生成的时候,就已经有了默认资源组,不需要我们额外配置)
  2. 配置数据源(默认有odps_first,指该odps项目),我们自己的数据源同样需要配置
  3. 编写数据同步任务(一样)
  4. 修改任务的资源组(默认值是默认资源组,无需修改)
  5. 运行数据同步任务(一样)

在实际使用过程中,出现失败的话,多思考一下:

数据同步基于datax , 是通过datax到reader数据源抽取数据,在通过writer数据源写数据,
多思考一下网络方面的原因:例如防火墙,mysql的白名单,账号是否有权限等等.

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
7天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
30 2
|
2月前
|
存储 数据可视化 数据管理
基于阿里云服务的数据平台架构实践
本文主要介绍基于阿里云大数据组件服务,对企业进行大数据平台建设的架构实践。
703 0
|
4月前
|
SQL 存储 分布式计算
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
【大数据技术Hadoop+Spark】Hive数据仓库架构、优缺点、数据模型介绍(图文解释 超详细)
159 0
|
4月前
|
存储 分布式计算 Hadoop
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)
108 0
|
21天前
|
canal 消息中间件 关系型数据库
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
66 0
|
3月前
|
存储 负载均衡 NoSQL
Redis 高可用篇:你管这叫主从架构数据同步原理?
Redis 高可用篇:你管这叫主从架构数据同步原理?
238 5
|
4月前
|
监控 物联网 大数据
助力工业物联网,工业大数据之服务域:AirFlow的架构组件【三十二】
助力工业物联网,工业大数据之服务域:AirFlow的架构组件【三十二】
45 0
|
4月前
|
存储 分布式计算 大数据
首批!阿里云MaxCompute完成中国信通院基于无服务器架构大数据平台测试
近日,阿里云计算有限公司MaxCompute产品顺利完成中国信通院首批无服务器架构(Serverless)大数据平台测试。
221 0
|
4月前
|
存储 数据采集 大数据
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
106 0
|
4月前
|
分布式计算 算法 搜索推荐
阿里巴巴内部:全技术栈PPT分享(架构篇+算法篇+大数据)
我只截图不说话,PPT大全,氛围研发篇、算法篇、大数据、Java后端架构!除了大家熟悉的交易、支付场景外,支撑起阿里双十一交易1682亿元的“超级工程”其实包括以下但不限于客服、搜索、推荐、广告、库存、物流、云计算等。 Java核心技术栈:覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。 大数据:Spark、Hadoop

相关产品

  • 云原生大数据计算服务 MaxCompute