创建Hadoop计算源

Hadoop计算源用于绑定Dataphin项目空间与Hadoop项目,为Dataphin项目提供处理离线计算任务的计算源。如果Dataphin系统的计算引擎设置为Hadoop,则只有项目空间添加了Hadoop计算源,才支持规范建模、即席查询、Hive任务、通用脚本等功能。本文为您介绍如何新建Hadoop计算源。

前提条件

在您开始执行操作前,请确认已满足以下要求:

  • 已设置Dataphin计算引擎为Hadoop。如何设置,请参见设置计算引擎为Hadoop

  • 确保Hive的用户具有以下的权限:

    • CREATEFUNCTION权限。

      重要

      只有具备CREATEFUNCTION权限,才可以通过Dataphin在Hive上注册自定义函数。如果没有该权限,则不可以通过Dataphin创建自定义函数,也不能使用Dataphin的资产安全功能。

    • HDFS上UDF的存放目录的读、写、执行权限。

      HDFS上UDF存放目录默认为/tmp/dataphin,您也可以修改HDFS上UDF存放目录。

  • 若您需开启Impala任务进行快速查询和分析数据,请您提前在Hadoop集群上部署Impala(Impala v2.5及以上版本)。

  • 在E-MapReduce5.x计算引擎下,若您需要使用基于OSS创建的Hive外部表进行离线集成。您需要进行相关配置后,才可以正常使用。配置说明,请参见使用基于OSS创建的Hive外部表进行离线集成

Impala任务使用限制

若您需开启Impala任务进行快速查询和分析数据。在Dataphin中存在以下限制:

  • 仅支持Impala v2.5及以上版本。

  • 逻辑表暂不支持使用Impala引擎,但您可使用Impala查询逻辑表。

  • Dataphin的Impala数据源及计算源使用Impala的JDBC客户端连接Impala的JDBC端口(默认为21050),不支持Hive JDBC端口。若您需在Dataphin创建Impala任务或Impala数据源,请您咨询您的集群供应商是否支持Impala JDBC连接。

  • 因Hive无法访问Kudu表,因此存在以下限制:

    • Hive SQL无法访问Kudu表,强制访问将导致SQL无法正常执行并报错。报错信息:FAILED: RuntimeException java.lang.ClassNotFoundException: org.apache.Hadoop.hive.kudu.KuduInputFormat

    • 不支持建模的来源表为Kudu表,来源表为Kudu表时无法正常执行。

    • 安全识别扫描任务使用Impala SQL进行Kudu表的扫描,若扫描任务所在的项目未开启Impala,则不支持Kudu表的扫描。

    • 质量规则执行时若为Kudu表,将使用Impala SQL进行校验;若未开启Impala,则将导致校验任务失败报错。

    • 标签平台不支持Kudu表作为离线视图表。

  • 不支持获取Kudu表的存储量。

    • 在资产详情中不支持获取Kudu表的存储量信息。

    • 资源治理的空表治理项不支持Kudu表。

    • Kudu表不支持表大小、表分区大小质量规则。

Spark SQL服务使用限制

若您需开启Spark SQL服务。在Dataphin中存在以下限制:

  • 目前仅支持Spark V3.x 版本。

  • Spark Thrift Server服务、Kyuubi服务或Livy服务需要提前在Hadoop集群上进行部署及开启服务。

  • Dataphin对Spark Call命令不做数据权限的校验,请注意谨慎开启和使用。

  • 生产和开发计算源的Spark SQL配置中,服务配置需要保持一致。若不一致,则不可配置Spark SQL任务的Spark资源设置。

计算引擎与支持的服务类型

不同计算引擎支持的服务类型不同。详情如下

计算引擎类型

Spark Thrift Server

Kyuubi

Livy

MapReduce(MRS)

E-MapReduce3.x

支持

支持

不支持

不支持

E-MapReduce5.x

支持

支持

不支持

不支持

CDH 5.X、CDH 6.X

不支持

支持

不支持

不支持

Cloudera Data Platform

不支持

支持

支持

不支持

FusionInsight 8.X

不支持

不支持

不支持

支持

亚信DP 5.3

支持

支持

不支持

不支持

操作步骤

  1. 在Dataphin首页的顶部菜单栏中,选择规划 > 计算源

  2. 计算源页面,单击+新增计算源,选择Hadoop计算源

  3. 新建计算源页面,配置以下参数。

    可通过引用指定集群配置或单独配置计算源各配置项,不同配置方式所支持的配置项有所不同。

    引用指定集群配置

    • 计算源基本信息

      参数

      描述

      计算源类型

      默认为Hadoop

      计算源名称

      命名规则如下:

      • 只能包含中文、英文、数字、下划线(_)和短划线(-)。

      • 长度不能超过64个字符。

      配置方式

      选择为引用指定集群

      计算源描述

      对计算源的简单描述,长度128个字符以内。

    • 队列信息配置

      参数

      描述

      生产任务队列

      填写yarn资源队列,生产环境手动及周期性任务运行使用该yarn队列。

      其他任务队列

      填写yarn资源队列,其他任务(例如即席查询、数据预览、JDBCDriver)访问使用该yarn队列。

      优先级任务队列

      可选择使用生产任务默认队列自定义

      当选择为自定义时,需分别填写最高优先级、高优先级、中优先级、低优先级和最低优先级所对应的yarn资源队列。

    • Hive计算引擎配置

      参数

      描述

      链接信息

      可选择引用集群配置单独配置

      JDBC URL

      支持配置以下三种连接地址:

      • Hive Server的连接地址,格式为jdbc:hive://<连接地址>:<端口>/<数据库名称>

      • ZooKeeper的连接地址。例如jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

      • 开启Kerberos的连接地址,格式为jdbc:hive2://<连接地址>:<端口>/<数据库名称>;principal=hive/_HOST@xx.com

      说明

      当链接信息选择为单独配置时,支持修改JDBC URL;当链接信息选择为引用集群配置后,JDBC URL仅支持查看,不支持修改。

      数据库

      说明

      仅当链接信息选择为引用集群配置时,支持配置数据库。

      输入数据库名称。不支持半角句号(.),长度不超过256个字符。

      认证方式

      说明

      仅当链接信息选择为单独配置时,支持配置认证方式。

      支持无认证LDAPKerberos认证方式。

      • 无认证:无认证方式需填写Hive服务的用户名。

      • LDAP:LDAP认证方式需填写Hive服务的用户名和密码。

        说明

        无认证和LDAP方式所填写的用户须确保具备任务的执行权限,以保证任务的正常执行。

      • Kerberos:如果Hadoop集群有Kerberos认证,则需要开启Hive Kerberos并上传Keytab File认证文件与配置Principal。

        • Keytab File:上传keytab文件,您可以在Hive Server上获取keytab文件。

        • Principal:填写Hive Keytab File文件对应的Kerberos认证用户名。

      执行引擎

      • 默认:Default:绑定该计算源的项目下的任务(包括逻辑表任务)默认使用该执行引擎。

      • 自定义:选择其他计算引擎类型。

    • Spark Jar服务配置

      说明

      当配置方式选择引用集群配置,但所引用的集群未开启Spark Jar服务时,不支持配置Spark Jar服务配置。

      参数

      描述

      Spark任务

      如果Hadoop集群有部署Spark,则支持开启Spark Jar任务

      执行用户名密码

      填写登录计算执行机器用户名、密码。

      重要

      已开通提交MapReduce任务的权限。

      认证方式

      支持无认证Kerberos认证方式。

      如果Hadoop集群有Kerberos认证,则需要开启Spark Kerberos并上传Keytab File认证文件与配置Principal。

      • Keytab File:上传keytab文件,您可以在Spark Server上获取keytab文件。

      • Principal:填写Spark Keytab File文件对应的Kerberos认证用户名。

    • Spark SQL服务配置

      说明

      当配置方式选择引用集群配置,但所引用的集群未开启Spark SQL服务时,不支持配置Spark SQL服务配置。

      参数

      描述

      Spark SQL任务

      如果Hadoop集群有部署Spark,则支持开启Spark SQL任务

      链接信息

      可选择引用集群配置单独配置

      Spark版本

      目前仅支持3.x。

      服务类型

      选择Spark JDBC访问的目标服务器类型。不同计算引擎支持的服务类型不同。更多信息,请参见计算引擎与支持的服务类型

      JDBC URL

      Spark的JDBC URL地址。URL的database与Hive JDBC URL中指定的database需相同。

      说明

      当链接信息选择为单独配置时,支持修改JDBC URL;当链接信息选择为引用集群配置后,JDBC URL仅支持查看,不支持修改。

      数据库

      说明

      仅当链接信息选择为引用集群配置时,支持配置数据库。

      输入数据库名称。不支持半角句号(.),长度不超过256个字符。

      认证方式

      说明

      仅当链接信息选择为单独配置时,支持配置数据库。

      支持无认证LDAPKerberos认证方式。

      • 无认证:无认证方式需填写Spark服务的用户名。

      • LDAP:LDAP认证方式需填写Spark服务的用户名和密码。

        说明

        无认证和LDAP方式所填写的用户须确保具备任务的执行权限,以保证任务的正常执行。

      • Kerberos:如果Hadoop集群有Kerberos认证,则需要开启Spark Kerberos并上传Keytab File认证文件与配置Principal。

        • Keytab File:上传keytab文件,您可以在Spark Server上获取keytab文件。

        • Principal:填写Spark Keytab File文件对应的Kerberos认证用户名。

      SQL任务队列设置

      不同服务类型使用不同的任务SQL任务队列。详情如下:

      • Spark Thrift Server:不支持设置任务队列。

      • Kyuubi:使用HDFS信息配置的优先级队列设置,仅当Kyuubi使用Yarn作为资源调度时生效,生产任务使用Connection共享级别。

      • Livy:使用HDFS信息配置的优先级队列设置,仅当Livy使用Yarn作为资源调度时生效,即席查询及生产任务均使用新的Connection的执行。

      • MapReduce(MRS):使用HDFS信息配置的优先级队列设置。

    • Impala任务配置

      说明

      当配置方式选择引用集群配置,但所引用的集群未开启Impala任务时,不支持配置Impala任务服务配置。

      参数

      描述

      Impala任务

      如果Hadoop集群有部署Impala,则支持开启Impala任务。

      链接信息

      可选择引用集群配置单独配置

      JDBC URL

      请输入Impala的JDBC连接地址。如jdbc:Impala://host:port/database。JDBC URL中的Database需要与Hive JDBC中的Database保持一致。

      说明

      当链接信息选择为单独配置时,支持修改JDBC URL;当链接信息选择为引用集群配置后,JDBC URL仅支持查看,不支持修改。

      数据库

      说明

      仅当链接信息选择为引用集群配置时,支持配置数据库。

      输入数据库名称。不支持半角句号(.),长度不超过256个字符。

      认证方式

      说明

      仅当链接信息选择为单独配置时,支持配置数据库。

      支持无认证LDAPKerberos认证方式。

      • 无认证:无认证方式需填写Impala用户名。

      • LDAP:LDAP认证方式需填写Impala的用户名和密码。

      • Kerberos:Kerberos认证方式需上传Keytab File认证文件与配置Principal。

      开发任务请求池

      请输入用于开发任务的Impala请求池(request pool)名称。

      周期任务请求池

      请输入用于周期任务的Impala请求池(request pool)名称。

      优先级任务队列

      支持采取周期任务默认队列自定义

      • Dataphin在调度Impala SQL任务时会根据任务的优先级将任务发送到相应的队列执行。优先级包括最高优先级、高优先级、中优先级、低优先级、最低优先级。

      • 自定义优先级任务队列时,日调度逻辑表任务默认使用中优先级任务队列;年、月调度逻辑表任务默认使用低优先级任务队列。

    单独配置

    • 计算源基本信息

      参数

      描述

      计算源类型

      默认为Hadoop

      计算源名称

      命名规则如下:

      • 只能包含中文、英文、数字、下划线(_)和短划线(-)。

      • 长度不能超过64个字符。

      配置方式

      选择为单独配置

      计算源描述

      对计算源的简单描述,长度128个字符以内。

    • 集群基本信息

      说明

      仅当配置方式选择单独配置时,支持配置集群基本信息。

      参数

      描述

      集群存储

      默认为计算设置配置的参数信息,不支持配置。非OSS-HDFS集群存储无该参数项。

      NameNode

      单击+新增,在新增NameNode对话框中配置相关参数,支持新增多个NameNode。

      NameNode为HDFS集群中NameNode节点的HostName或者IP和端口。配置样例:

      • NameNode:193.168.xx.xx

      • Web UI Port:50070

      • IPC Port:8020

      Web UI Port和IPC Port两个端口中,至少选中一个。配置完成后NameNode为host=192.168.xx.xx,webUiPort=50070,ipcPort=8020

      说明

      当集群存储为HDFS时,支持配置此项。

      集群存储根目录

      默认为计算设置配置的参数信息,不支持配置。非OSS-HDFS集群存储无该参数项。

      AccessKey IDAccessKey Secret

      集群存储类型为OSS-HDFS,需填写访问集群OSS的AccessKey ID和AccessKey Secret。查看AccessKey,请参见查看AccessKey

      重要

      此处填写的配置优先级高于core-site.xml中配置的AccessKey。

      core-site.xml

      上传Hadoop集群的core-site.xml配置文件。

      hdfs-site.xml

      上传Hadoop集群下HDFS的hdfs-site.xml配置文件。

      说明

      OSS-HDFS集群存储类型,不支持上传hdfs-site.xml配置文件。

      hive-site.xml

      上传Hadoop集群下Hive的hive-site.xml配置文件。

      yarn-site.xml

      上传Hadoop集群下Hive的yarn-site.xml配置文件。

      其他配置文件

      上传keytab文件,您可以在HDFS集群中的NameNode节点使用ipa-getkeytab命令获取keytab文件。

      任务执行机器

      配置MapReduce或Spark Jar的执行机器的连接地址。格式为hostname:portip:port,port默认为22。

      认证方式

      支持无认证和Kerberos认证方式。

      Kerberos是一种基于对称密钥技术的身份认证协议,可以为其他服务提供身份认证功能,且支持SSO(即客户端身份认证后,可以访问多个服务,例如HBase和HDFS)。

      如果Hadoop集群有Kerberos认证,则需要开启集群Kerberos并上传Krb5认证文件或配置KDC Server地址:

      重要

      当计算引擎类型为E-MapReduce 5.x时,仅支持krb5文件配置配置方式。

      • Krb5认证文件:需要上传Krb5文件进行Kerberos认证。

      • KDC Server地址:KDC服务器地址,辅助完成Kerberos认证。

      说明

      支持配置多个KDC Server服务地址,使用英文分号(;)分割。

    • HDFS信息配置

      参数

      描述

      执行用户名密码

      登录计算执行机器用户名和密码,用于执行MapReduce任务、读取写入HDFS存储等。

      重要

      请确保有提交MapReduce任务的权限。

      认证方式

      支持无认证Kerberos

      说明

      集群存储为OSS-HDFS时,不支持配置HDFS认证方式。将默认使用core-site.xml文件中的AccessKey。

      如果Hadoop集群有Kerberos认证,则需要开启HDFS Kerberos并上传Keytab File认证文件与配置Principal。

      • Keytab File:上传keytab文件,您可以在HDFS Server上获取keytab文件。

      • Principal:填写HDFS Keytab File文件对应的Kerberos认证用户名。

      HDFS User

      指定文件上传的用户名,如果没有填写,则默认为执行用户名。Kerberos关闭时可填写。

      生产任务默认任务队列

      填写Yarn资源队列,生产环境手动及周期性任务运行使用该Yarn队列。

      其他任务队列

      填写Yarn资源队列,其他任务如即席查询、数据预览、JDBC Driver访问使用该Yarn队列。

      任务优先级队列

      支持使用生产任务默认队列自定义

      • Dataphin在调度Hive SQL任务时会根据任务的优先级将任务发送到相应的队列执行。优先级包括最高优先级、高优先级、中优先级、低优先级、最低优先级。

      • Hive的执行引擎设置为Tez或Spark时,必须设置不同的优先级队列,任务的优先级设置才可生效。

        说明
        • 日、小时调度逻辑表任务默认使用中优先级任务队列。

        • 年、月调度逻辑表任务默认使用低优先级任务队列。

    • Hive计算引擎配置

      参数

      描述

      JDBC URL

      支持配置以下三种连接地址:

      • Hive Server的连接地址,格式为jdbc:hive://<连接地址>:<端口>/<数据库名称>

      • ZooKeeper的连接地址。例如jdbc:hive2://zk01:2181,zk02:2181,zk03:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

      • 开启Kerberos的连接地址,格式为jdbc:hive2://<连接地址>:<端口>/<数据库名称>;principal=hive/_HOST@xx.com

      认证方式

      说明

      仅当链接信息选择为单独配置时,支持配置认证方式。

      支持无认证LDAPKerberos认证方式。

      • 无认证:无认证方式需填写Hive服务的用户名。

      • LDAP:LDAP认证方式需填写Hive服务的用户名和密码。

        说明

        无认证和LDAP方式所填写的用户须确保具备任务的执行权限,以保证任务的正常执行。

      • Kerberos:如果Hadoop集群有Kerberos认证,则需要开启Hive Kerberos并上传Keytab File认证文件与配置Principal。

        • Keytab File:上传keytab文件,您可以在Hive Server上获取keytab文件。

        • Principal:填写Hive Keytab File文件对应的Kerberos认证用户名。

      执行引擎

      • 默认:Default:绑定该计算源的项目下的任务(包括逻辑表任务)默认使用该执行引擎。

      • 自定义:选择其他计算引擎类型。

    • Hive元数据配置

      元数据获取方式:支持元数据库HMSDLF三种源数据获取方式。获取方式不同,所需配置信息不同。

      重要
      • DLF获取方式仅支持计算设置为E-MapReduce5.x Hadoop的集群。

      • 使用DLF方式获取元数据,请先在配置文件中上传hive-site.xml配置文件。

      元数据获取方式

      参数

      描述

      元数据库

      数据库类型

      根据集群中使用的元数据库类型,选择数据库。Dataphin支持选择MySQL

      支持MySQL的版本包括MySQL 5.1.43MySQL 5.6/5.7MySQL 8版本。

      JDBC URL

      填写目标数据库的JDBC连接地址。例如:

      MySQL:格式为jdbc:mysql://{连接地址}[,failoverhost...]{端口}/{数据库名称} [?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...

      用户名密码

      填写登录元数据库的用户名和密码。

      HMS

      认证方式

      HMS获取方式支持无认证LDAPKerberos三种认证方式Kerberos认证方式需上传Keytab File文件及配置Principal。

      DLF

      Endpoint

      填写集群在DLF数据中心所在地域的Endpoint。如何获取,请参见DLF Region和Endpoint对照表

      AccessKey IDAccessKey Secret

      填写集群所在账号的AccessKey ID和AccessKey Secret。

      您可在用户信息管理页面,获取账号的AccessKey ID和AccessKey Secret。

    • Spark Jar服务配置

      参数

      描述

      Spark任务

      如果Hadoop集群有部署Spark,则支持开启Spark Jar任务

      执行用户名密码

      填写登录计算执行机器用户名、密码。

      重要

      已开通提交MapReduce任务的权限。

      认证方式

      支持无认证Kerberos认证方式。

      如果Hadoop集群有Kerberos认证,则需要开启Spark Kerberos并上传Keytab File认证文件与配置Principal。

      • Keytab File:上传keytab文件,您可以在Spark Server上获取keytab文件。

      • Principal:填写Spark Keytab File文件对应的Kerberos认证用户名。

    • Spark SQL服务配置

      参数

      描述

      Spark SQL任务

      如果Hadoop集群有部署Spark,则支持开启Spark SQL任务

      Spark版本

      目前仅支持3.x。

      服务类型

      选择Spark JDBC访问的目标服务器类型。不同计算引擎支持的服务类型不同。更多信息,请参见计算引擎与支持的服务类型

      JDBC URL

      Spark的JDBC URL地址。URL的database与Hive JDBC URL中指定的database需相同。

      认证方式

      支持无认证LDAPKerberos认证方式。

      • 无认证:无认证方式需填写Spark服务的用户名。

      • LDAP:LDAP认证方式需填写Spark服务的用户名和密码。

        说明

        无认证和LDAP方式所填写的用户须确保具备任务的执行权限,以保证任务的正常执行。

      • Kerberos:如果Hadoop集群有Kerberos认证,则需要开启Spark Kerberos并上传Keytab File认证文件与配置Principal。

        • Keytab File:上传keytab文件,您可以在Spark Server上获取keytab文件。

        • Principal:填写Spark Keytab File文件对应的Kerberos认证用户名。

      SQL任务队列设置

      不同服务类型使用不同的任务SQL任务队列。详情如下:

      • Spark Thrift Server:不支持设置任务队列。

      • Kyuubi:使用HDFS信息配置的优先级队列设置,仅当Kyuubi使用Yarn作为资源调度时生效,生产任务使用Connection共享级别。

      • Livy:使用HDFS信息配置的优先级队列设置,仅当Livy使用Yarn作为资源调度时生效,即席查询及生产任务均使用新的Connection的执行。

      • MapReduce(MRS):使用HDFS信息配置的优先级队列设置。

    • Impala任务配置

      参数

      描述

      Impala任务

      如果Hadoop集群有部署Impala,则支持开启Impala任务。

      JDBC URL

      请输入Impala的JDBC连接地址。如jdbc:Impala://host:port/database。JDBC URL中的Database需要与Hive JDBC中的Database保持一致。

      说明

      当链接信息选择为引用集群配置后,JDBC URL仅支持查看,不支持修改。

      认证方式

      支持无认证LDAPKerberos认证方式。

      • 无认证:无认证方式需填写Impala用户名。

      • LDAP:LDAP认证方式需填写Impala的用户名和密码。

      • Kerberos:Kerberos认证方式需上传Keytab File认证文件与配置Principal。

      开发任务请求池

      请输入用于开发任务的Impala请求池(request pool)名称。

      周期任务请求池

      请输入用于周期任务的Impala请求池(request pool)名称。

      优先级任务队列

      支持采取周期任务默认队列自定义

      • Dataphin在调度Impala SQL任务时会根据任务的优先级将任务发送到相应的队列执行。优先级包括最高优先级、高优先级、中优先级、低优先级、最低优先级。

      • 自定义优先级任务队列时,日调度逻辑表任务默认使用中优先级任务队列;年、月调度逻辑表任务默认使用低优先级任务队列。

  4. 单击测试连接,测试连接的计算源。

  5. 测试连接成功后,单击提交

后续步骤

完成创建Hadoop计算源后,即可为项目绑定Hadoop计算源,请参见创建通用项目