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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 美柚与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的白名单,账号是否有权限等等.

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
7天前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
1月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
90 1
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
147 6
|
1月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
57 3
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
64 2
|
1月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
82 0
|
7天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
【赵渝强老师】基于大数据组件的平台架构
|
1月前
|
SQL 存储 分布式计算
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
大数据-157 Apache Kylin 背景 历程 特点 场景 架构 组件 详解
25 9
|
1月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
63 1
|
1月前
|
消息中间件 NoSQL Kafka
大数据-52 Kafka 基础概念和基本架构 核心API介绍 应用场景等
大数据-52 Kafka 基础概念和基本架构 核心API介绍 应用场景等
61 5

相关产品

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