文档

实现开发生产等多套环境隔离

更新时间:

使用DataWorks进行大数据开发时,支持对开发、测试、生产等环境进行隔离,当您联合使用了其他阿里云产品时,也可根据环境隔离诉求进行对应业务的环境设置与隔离,本文以DataWorks联合EMR、OSS等产品为例,为您介绍如何实现开发生产等多套环境隔离。

背景信息

很多企业用户在大数据的研发流程中有创建并隔离多套环境的需求,如创建并完全隔离开发、测试、生产环境,即各环境的数据物理存储地址、任务运行集群、大数据作业脚本均隔离,并对操作人员有严格的权限管控,如仅运维团队可使用生产环境,开发人员只能使用开发环境等要求。

本文以使用DataWorks、EMR、OSS、DLF进行大数据开发,并实现开发、生产环境隔离为例,为您示例如何实现环境隔离。其中:
  • DataWorks用于管理大数据作业的开发、运维、调度。
  • 2个EMR集群分别用于开发和生产环境。
  • OSS用于存储实际数据。
  • DLF用于存储管理元数据。
实现的主要方式如下文所示。

DLF的环境隔离

  1. 在DLF中创建两个数据目录(catalog), 一个用于存储开发环境下的元数据(dev catalog),一个用于存储生产环境下的元数据(prod catalog),并设置目录路径为不同的OSS路径。
    操作详情请参见数据目录dlf
  2. 在相应的数据目录中创建数据库, 建议开发、生产的数据目录下的数据库名称相同,指向的OSS路径不同,方便后续的迁移工作。
    数据库

EMR集群的环境隔离

分别设置2个EMR集群中各个引擎的catalog信息,保证EMR开发环境的集群引擎使用上述创建的开发环境的数据目录(dev catalog),生产环境集群引擎使用的是生产环境的数据目录(prod catalog)。

以Hive引擎为例,用于开发环境的实例需修改hive引擎中dlf.catalog.id为开发环境的数据目录(dev catalog),核心配置页面如下。操作详情请参见管理配置项emr
重要
  • 以上为hive引擎的示例,2个EMR实例中,所有类型的引擎都需参考上述描述进行修改。
  • 引擎配置修改完成后,需要下发配置并重启组件,使修改的配置生效。

DataWorks的环境隔离

  1. 分别创建2个简单模式的DataWorks工作空间,一个用于开发环境,绑定开发环境的EMR集群,一个用于生产环境,绑定生产环境的EMR集群。操作详情请参见创建工作空间
  2. 在开发环境的工作空间中,使用DataStudio进行任务开发和调度配置,同时建表语句使用SQL命令完成。
    建表语句示例:
    create table if not exists db1.table1 ( id int, name String);
    说明 由于数据库已经在DLF中声明了路径,此处不再声明路径。
  3. 使用跨项目克隆功能,将开发环境下的业务流程发布至生产环境的工作空间中。
    跨项目克隆选择需要克隆的业务流程,并设置计算引擎的映射、资源组等配置。操作详情请参见跨项目克隆说明。完成后即可在生产环境的工作空间中看到对应的任务,您可根据生产环境的业务需求进行修改、验收、发布。