基于自建Hadoop集群进行任务开发

本文为您介绍如何在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)公测的空间绑定方式不一样,所以请按照您空间实际环境,参考对应的文档进行绑定。

步骤二:自定义自建集群运行环境

DataWorks支持您在DataWorks默认的CDH官方镜像基础上,构建自定义镜像,作为您自建集群在DataWorks上的任务运行环境。请按照以下准备安装包,并构建新镜像。

准备自定义集群环境安装包

在创建自定义镜像之前,您需要获取所需的组件安装包。这些安装包可以通过从现有的自建Hadoop集群中提取,或者直接下载所需组件的安装包来获得。获取到安装包后,请将其上传至OSS对象存储中。

  1. 获取自定义组件安装包。

    • 在自建Hadoop集群中找到所需自定义组件的安装目录,提取安装包。

    • 下载对应版本的自定义组件的安装包。

      本示例以开源的 Spark 安装包和 Hadoop 安装包为例进行演示,以下为Spark和Hadoop安装包的获取地址。

      说明

      本示将获取Spark-3.4.2版本Hadoop-3.2.1版本的安装包,以供后续安装使用。

  2. 上传获取到的Spark和Hadoop安装包至OSS对象存储中。

基于安装包构建新镜像

创建自定义镜像需要通过编写脚本来下载存储在OSS对象存储中的Spark和Hadoop安装包,然后将这些开源包安装到CDH镜像中。完成安装后,构建并发布自定义镜像,以便在数据开发过程中使用。

  1. 创建自定义镜像。

    1. 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的镜像管理,切换页签至自定义镜像

    2. 单击创建镜像按钮,进行创建镜像,以下为创建自定义镜像的关键参数,更多参数详情请参见:镜像管理

      配置项

      说明

      示例内容

      镜像名称/ID

      在此处支持选择多种不同镜像,基于Hadoop集群的镜像可选择DataWorks官方镜像提供的CDH官方镜像。

      下拉选择:dataworks_cdh_custom_task_pod

      支持任务类型

      CDH镜像支持CDH HiveCDH SparkCDH Spark SQLCDH MRCDH Presto以及CDH Impala类型的任务,您可根据需求配置可使用当该镜像的任务。

      本示例选择CDH镜像的所有任务类型。

      安装包

      • 在安装包配置项中,需要您通过脚本将下载并上传至OSS中的Hadoop安装包以及Spark安装包下载并安装

      • 您可按需对示例内容中的安装包进行自定义替换

      下拉选择:Script

      自定义脚本代码。

      mkdir -p /opt/taobao/tbdpapp/cdh/custom
      
      wget -O spark-3.4.2-bin-hadoop3.tgz "{OSS 下载地址}"
      tar zxf spark-3.4.2-bin-hadoop3.tgz
      mv spark-3.4.2-bin-hadoop3 /opt/taobao/tbdpapp/cdh/custom
      
      wget -O hadoop-3.2.1.tar.gz "{OSS 下载地址}"
      tar zxf hadoop-3.2.1.tar.gz
      mv hadoop-3.2.1 /opt/taobao/tbdpapp/cdh/custom
      
      echo "\nexport PATH=/opt/taobao/tbdpapp/cdh/custom/hadoop-3.2.1/bin:/opt/taobao/tbdpapp/cdh/custom/spark-3.4.2-bin-hadoop3/bin:$PATH" >> /home/admin/.bashrc
      说明
      • {OSS 下载地址}替换为实际的下载地址,文件下载地址详情可参见:使用文件URL

        • OSS文件为公共读时:配置文件下载地址即可。

        • OSS文件为私有时:配置文件下载地址,确保文件并未失效。

      • 本示例代码中的版本仅供参考,请以上传至OSS内的组件安装包为准。

    3. 配置完成后,单击确定创建镜像。

  2. 构建发布自定义镜像。

    完成自定义镜像配置后,需要将镜像构建发布后,才可在数据开发中选择使用,以下为创建好的镜像构建发布流程:

    1. 完成自定义镜像创建后,单击操作列的发布按钮进行测试发布。

      image

    2. 在镜像发布页面,下拉选择测试资源组,对镜像进行测试,测试成功后,单击发布,即可发布镜像。

      image

    说明

    若需从OSS的公网地址下载安装包,则测试资源组需具备公网访问能力,请为Serverless资源组开通NAT网关,详情请参见:配置网络连通

步骤三:使用自定义环境运行任务

镜像发布后,即可在数据开发中使用自定义镜像,根据是否参加了新版数据开发公测,选择不同的使用方法,您可参考以下内容:

登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的数据开发与治理 > 数据开发,在下拉框中选择对应工作空间后单击进入Data Studio/数据开发

在数据开发(Data Studio)(新版)运行

  1. 新建CDH节点。

    在Data Studio页面,单击image按钮,选择新建节点 > CDH > CDH Hive,输入节点名,回车创建CDH Hive节点。

    image

  2. 配置CDH Hive节点镜像。

    • 调试配置

      1. 双击CDH Hive节点名,进入节点编辑页面,单击右侧调试配置,进入调试配置页面。

      2. 切换至DataWorks配置页签,将镜像切换至新建的镜像。

        • 资源组:选择Serverless资源组。

        • 镜像:选择已发布并绑定了当前工作空间的自定义镜像。

      image

    • 调度配置

      1. 双击CDH Hive节点名,进入节点编辑页面,单击右侧调度配置,进入调度配置页面。

      2. 切换至调度策略页签,进行配置。

        • 调度资源组:选择Serverless资源组。

        • 镜像:选择已发布并绑定了当前工作空间的自定义镜像。

        image

说明
  • CHD镜像支持节点:CDH HiveCDH SparkCDH Spark SQLCDH MRCDH PrestoCDH Impala

  • 为确保任务节点顺利运行,请确保调度资源组发布镜像时选择的测试资源组一致。

  • 如果此处未显示目标资源组,请检查是否将该资源组绑定至当前工作空间。您可以前往资源组列表页,找到目标资源组,然后单击操作列的绑定工作空间,完成绑定。

在数据开发(DataStudio)运行

  1. 新建CDH节点。

    1. 单击image按钮,选择新建节点 > CDH > CDH Hive

      配置项

      配置内容

      引擎实例

      选择绑定自建集群至DataWorks时注册的CDH集群。

      节点类型

      CDH Hive

      路径

      • 可选择该CDH Hive节点存放的流程。

      • 本示例选择:Workflow

      名称

      自定义节点名称。

      配置完成后,单击确定即可新建节点。

    2. 双击CDH Hive节点名,进入节点编辑页面。

      开发完成CDH Hive代码后,即可测试在镜像上运行,为整个节点配置镜像。

      • 带参运行。

        单击上方image按钮,进入节点测试运行配置参数弹窗,在弹窗内配置已创建的dw_cdh_mirroring即可。

        • 资源组名称:选择Serverless资源组。

        • 镜像:选择已发布并绑定了当前工作空间的自定义镜像。

        image

      • 调度配置。

        在数据开发功能中找到待测试自定义镜像的任务节点,单击右侧调度配置,配置资源属性:

        • 调度资源组:选择Serverless资源组。

        • 镜像:选择已发布并绑定了当前工作空间的自定义镜像。

        image

说明
  • CHD镜像支持节点:CDH HiveCDH SparkCDH Spark SQLCDH MRCDH PrestoCDH Impala

  • 为确保任务节点顺利运行,请确保调度资源组发布镜像时选择的测试资源组一致。

  • 如果此处未显示目标资源组,请检查是否将该资源组绑定至当前工作空间。您可以前往资源组列表页,找到目标资源组,然后单击操作列的绑定工作空间,完成绑定。