本文为您介绍如何在DataWorks绑定自建 Hadoop 集群并进行任务开发,以及如何自定义自建集群运行环境。
背景信息
您可通过注册CDH集群时配置自建Hadoop集群服务地址的方式,在DataWorks访问您自建的Hadoop集群,并通过DataWorks默认CDH镜像构建符合您集群组件版本的DataWorks运行环境,实现在DataWorks上调度运行您的自建Hadoop集群作业。
前置条件
在进行创建自定义镜像前,需完成对集群环境、DataWorks环境以及OSS对象存储的准备。
已存在自建的Hadoop集群。
已开通DataWorks产品,并已创建DataWorks工作空间和Serverless资源组。
若需从OSS的公网地址下载安装包,则Serverless资源组需具备公网访问能力,请为Serverless资源组开通NAT网关,详情请参见:配置网络连通。
已开通OSS产品,并创建Bucket,用于上传存储需自定义的Spark安装包和Hadoop安装包,并提供给自定义镜像的脚本进行获取。
步骤一:绑定自建集群至DataWorks
请将您自建Hadoop集群绑定至DataWorks作为计算资源,由于参与了新版数据开发(Data Studio)公测的空间与没有参与数据开发(Data Studio)公测的空间绑定方式不一样,所以请按照您空间实际环境,参考对应的文档进行绑定。
数据开发(Data Studio)(新版):绑定计算资源。
数据开发(DataStudio):注册CDH或CDP集群至DataWorks。
步骤二:自定义自建集群运行环境
DataWorks支持您在DataWorks默认的CDH官方镜像基础上,构建自定义镜像,作为您自建集群在DataWorks上的任务运行环境。请按照以下准备安装包,并构建新镜像。
准备自定义集群环境安装包
在创建自定义镜像之前,您需要获取所需的组件安装包。这些安装包可以通过从现有的自建Hadoop集群中提取,或者直接下载所需组件的安装包来获得。获取到安装包后,请将其上传至OSS对象存储中。
获取自定义组件安装包。
在自建Hadoop集群中找到所需自定义组件的安装目录,提取安装包。
下载对应版本的自定义组件的安装包。
本示例以开源的 Spark 安装包和 Hadoop 安装包为例进行演示,以下为Spark和Hadoop安装包的获取地址。
Spark开源包下载地址:Spark开源包下载。
Hadoop开源包下载地址:Hadoop开源包下载。
说明本示将获取
Spark-3.4.2版本
和Hadoop-3.2.1版本
的安装包,以供后续安装使用。
上传获取到的Spark和Hadoop安装包至OSS对象存储中。
基于安装包构建新镜像
创建自定义镜像需要通过编写脚本来下载存储在OSS对象存储中的Spark和Hadoop安装包,然后将这些开源包安装到CDH镜像中。完成安装后,构建并发布自定义镜像,以便在数据开发过程中使用。
创建自定义镜像。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的镜像管理,切换页签至自定义镜像。
单击创建镜像按钮,进行创建镜像,以下为创建自定义镜像的关键参数,更多参数详情请参见:镜像管理。
配置项
说明
示例内容
镜像名称/ID
在此处支持选择多种不同镜像,基于Hadoop集群的镜像可选择DataWorks官方镜像提供的CDH官方镜像。
下拉选择:
dataworks_cdh_custom_task_pod
。支持任务类型
CDH镜像支持
CDH Hive
、CDH Spark
、CDH Spark SQL
、CDH MR
、CDH Presto
以及CDH Impala
类型的任务,您可根据需求配置可使用当该镜像的任务。本示例选择CDH镜像的所有任务类型。
安装包
在安装包配置项中,需要您通过脚本将下载并上传至OSS中的Hadoop安装包以及Spark安装包下载并安装。
您可按需对示例内容中的安装包进行自定义替换。
下拉选择:Script。
配置完成后,单击确定创建镜像。
构建发布自定义镜像。
完成自定义镜像配置后,需要将镜像构建发布后,才可在数据开发中选择使用,以下为创建好的镜像构建发布流程:
完成自定义镜像创建后,单击操作列的发布按钮进行测试发布。
在镜像发布页面,下拉选择测试资源组,对镜像进行测试,测试成功后,单击发布,即可发布镜像。
说明若需从OSS的公网地址下载安装包,则测试资源组需具备公网访问能力,请为Serverless资源组开通NAT网关,详情请参见:配置网络连通。
步骤三:使用自定义环境运行任务
镜像发布后,即可在数据开发中使用自定义镜像,根据是否参加了新版数据开发公测,选择不同的使用方法,您可参考以下内容:
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入Data Studio/数据开发。