全部产品
大数据开发套件

配置VPC环境数据同步(金融云)

更新时间:2017-09-11 16:30:23   分享:   

本文将介绍如何将 VPC 环境的 MySql 数据源同步到 MaxCompute。由于专有网络下搭建数据库,网络连通性存在问题,导致此环境数据库的数据不能直接同步上云。

金融云的网络是 VPC 网络,所以本实验准备了两台同网段的 ECS 服务器:

  • ECS1 作为资源组,同步任务将在此机器运行。

  • ECS2 服务器主要是用来搭建 MySql 数据库。

ECS1 服务器从 ECS2 服务器里读取数据库里的数据,然后写入到 MaxCompute 中。

注意:

要给数据库赋权限,让 ECS1 服务器能访问到相应的数据库,这样才能将此数据库的数据读取到 ECS1 中,授权命令如下所示:

  1. grant all privileges on *.* to 'demo_test'@'%' identified by '密码'; --> %号代表给所有 IP 授权

本实验的流程,如下图所示:

操作步骤

购买 ECS

首先,要用金融云账号 购买两台 ECS 服务器

  • 第一台:ECS1 服务器(弹性公网:120.76.2.21),作为调度资源组。

  • 第二台:ECS2 服务器(弹性公网:120.76.1.119),用来搭建 MySql 数据库 database:demo_test,表名:mytest。

注意:

  • 建议使用 centos6、centos7 或者 aliyunos。
  • 添加的 ECS 服务器需要执行同步任务,需要检查当前 ECS 的 python 版本是否是 python2.6.5 以上的版本(centos 的版本6.5 64位)。
  • 建议不要分配公网 IP,可以绑定弹性公网 IP。

购买两台 ECS 服务器的相关信息,如下图所示:

自定义 ECS 需要购买公网带宽具备访问公网能力

有以下面两种方式:

  • 购买 ECS 时直接分配公网 IP 地址。
  • 如果不分配公网 IP,那么需要配置并绑定弹性公网 IP具体操作请参见 绑定弹性公网 IP

专有网络里的 ECS 实例需要访问公网,如果已在专有网络里创建了 ECS 实例,并且该 ECS 实例没有系统分配的公网 IP,那么也没有绑定弹性 IP 连接 Datawork 将会有问题,因为弹性公网 IP 对于 Datawork 的汇报心跳非常重要。

添加安全组

安全组是一个逻辑上的分组,是一种虚拟防火墙,由同一个地域(Region)内具有相同安全保护需求并相互信任的实例组成,可用于设置单台或多台 ECS 实例的网络访问控制,是重要的网络安全隔离手段。每个实例至少属于一个安全组,在创建时就需要指定。同一安全组内的实例之间网络互通,不同安全组的实例之间默认内网不通。可以授权两个安全组之间互访,具体的添加步骤请参见 应用案例

注意:

添加安全组 172.31.46.0/24,端口范围设置为 -1/-1,这样添加私有网络的 IP 段,可以让整个 172.31.46.0 的 IP 段连通。

新增调度资源

  1. 项目管理员进入 大数据开发套件 > 调度资源列表,单击 新增调度资源,填写新增的调度资源名称,如下图所示:

  2. 添加调度资源后,在弹窗界面内单击新建调度资源操作栏中的 服务器管理,进入服务器添加页面,将购买的 ECS 云服务器添加到资源组,如下图所示:

  3. 单击 增加服务器

    • 网络类型:选择经典网络和专有网络类型,根据您的网络类型而设定。

    • 服务器名称:
      经典网络获取方式:登录 ECS,执行 hostname 命令,取返回值。
      专有网络获取方式:登录 ECS,执行 dmidecode | grep UUID,取返回值。

    • 机器 IP:输入专有网络 IP。

完成上述操作后,已将新购买的 ECS 信息注册到了大数据开发套件中,但是目前为止还不能服务。

登录远程服务器

  1. 进入 管控台 > ECS 云服务器 > 实例 > 远程连接 页面,登录远程服务器进行相应的操作,如下图所示:

    1. 单击 远程连接

      注意:

      远程连接密码只出现一次,您以后每次远程连接登录时都需要输入该密码,请做好记录存档工作。

    2. 输入远程登录密码。

    3. 单击 复制命令输入,输入相关命令进行相应的操作。

  2. 服务器初始化。

    1. 用 root 权限,登录 ECS 服务器(该服务器是您远程登录的 ECS),su root,然后输入您在购买时设置的密码。

    2. 执行命令(该行命令直接 copy 界面提示,并执行):wget https://alisaproxy.shuju.aliyun.com/install.sh --no-check-certificate;

    3. 执行命令(该行命令直接 copy 界面提示,并执行):sh install.sh --user_name=zz_[调度资源唯一标识] --password=[AK 密码] --enable_uuid=false;

    4. 稍后(大约 15 秒)在添加服务器页面,单击刷新按钮,观察服务状态是否转 正常 状态,若显示正常则表示新建 ECS 服务器注册成功。

    执行完此处后,服务状态可能一直是 停止 状态,那么您可能碰到以下问题:

    上图的错误原因是没有绑定 host,请参见以下步骤进行修改:

    1. 切换到 admin 账号。

    2. hostname -i 查看 host 绑定情况。

    3. vim / etc / hosts 添加 ip 地址和主机名。

    4. 刷新界面服务状态,若显示正常则表示新建 ECS 服务器注册成功。

    注意:

    如果刷新后还是 停止 状态,您可以重启 alisa 命令:切换到 admin 账号 /home/admin/alisatatasknode/target/alisatatasknode/bin/serverct1 restart。

添加 MySQL 数据源

上图中的配置项具体说明如下:

  • 网络类型:选择经典网络。

  • JDBCUrl:JDBC 连接信息,格式为:jdbc:mysql://IP:Port/database。 IP 为 ECS 云服务器的专有网络 IP 地址。

完成上述信息项的配置后,单击 测试连通性,此时测试连通性是 失败 的,直接单击 确认

配置同步任务(从 VPC 同步只支持脚本模式)

  1. 提供脚本配置样例如下
  2. {
  3. "configuration": {
  4. "reader": {
  5. "plugin": "mysql",
  6. "parameter": {
  7. "datasource": "ecs_mysql",
  8. "column": [
  9. "id",
  10. "name",
  11. "sex",
  12. "age"
  13. ],
  14. "where": "",
  15. "splitPk": "",
  16. "table": "mytest"
  17. }
  18. },
  19. "writer": {
  20. "plugin": "odps",
  21. "parameter": {
  22. "odpsServer": "http://service.odps.aliyun.com/api",
  23. "tunnelServer": "http://dt.odps.aliyun.com",
  24. "partition": "",
  25. "truncate": false,
  26. "datasource": "odps_first",
  27. "column": [
  28. "id",
  29. "name",
  30. "sex",
  31. "age"
  32. ],
  33. "table": "mytest"
  34. }
  35. },
  36. "setting": {
  37. "errorLimit": {
  38. "record": "0"
  39. },
  40. "speed": {
  41. "concurrent": "1",
  42. "mbps": "1"
  43. }
  44. }
  45. },
  46. "type": "job",
  47. "version": "1.0"
  48. }

MaxCompute 及其 Tunnel 服务的连接地址

目前金融云的 MaxCompute 服务和 MaxCompute tunnel 连接地址上面的两个地址是可以连通,下表详细介绍了在不同区域下,不同网络环境下,访问 MaxCompute 及其 Tunnel 服务的连接地址:

华东1:

MaxCompute 服务连接:http://odps-ext.aliyun-inc.com/api

MaxCompute tunnel 连接:http://dt-ext.odps.aliyun-inc.com

华东2:

MaxCompute 服务连接:http://odps-ext.aliyun-inc.com/api

MaxCompute tunnel 连接:http://dt-ext.eu13.odps.aliyun-inc.com

华北2:

MaxCompute 服务连接:http://odps-ext.aliyun-inc.com/api

MaxCompute tunnel 连接:http://dt-ext.nu16.odps.aliyun-inc.com

本实验的环境是华南 ECS 服务器,所以不属于上面的情况,这边不支持 VPC,需要用户走公网访问,所以配置:

MaxCompute 服务连接:http://service.odps.aliyun.com/api

MaxCompute tunnel 连接:http://dt.odps.aliyun.com

根据不同的情况可能会产生一定的费用,详情请参见 服务连接,配置好同步任务后调度任务仍未成功,只有配置的同步任务在之前添加的调度资源组中运行,才能成功。

修改调度资源组

  1. 进入 大数据开发套件 > 运维中心 > 任务管理 页面,单击 列表

  2. 选择同步任务,单击 修改资源组

  3. 选择要添加的资源组,单击 确认

    任务重跑结果:

    数据源 mytest 数据:

    同步到 MaxCompute 的结果:

本文导读目录
本文导读目录
以上内容是否对您有帮助?