DataWorks 提供了与CDH(Cloudera’s Distribution Including Apache Hadoop,以下简称CDH) 与CDP(Cloudera Data Platform,以下简称CDP)集群对接的能力,在保留CDH集群或CDP集群作为存储和计算引擎的前提下,您可以使用DataWorks的任务开发、调度、数据地图(元数据管理)和数据质量等一系列的数据开发和治理功能。CDP与CDH基于DataWorks的开发操作基本一致,本文以CDH为例为您介绍DataWorks如何对接使用CDH与CDP。
前提条件
对接配置完成后,您可在DataWorks上开发CDH引擎的数据开发任务并运行,并在运行后通过DataWorks的运维中心查看任务运行情况。详情可参见使用DataWorks进行数据开发和运维监控配置。
使用限制
- 在DataWorks中使用CDH相关功能,必须使用DataWorks的独享调度资源组。
- 您需要先保障CDH集群和独享调度资源组的网络可达后再进行后续的相关操作。
- 目前DataWorks支持的CDH版本有:cdh6.1.1、cdh5.16.2、cdh6.2.1和cdh6.3.2。
Step1:获取CDH集群配置信息
- 获取CDH版本信息,用于后续DataWorks中新增CDH引擎配置。登录Cloudera Manager,在主界面集群名称旁可查看当前部署的CDH集群版本,如下图所示。
- 获取Host地址与组件地址信息,用于后续DataWorks中新增CDH引擎配置。
- 方式一:使用DataWorks JAR包工具获取。
- 登录Cloudera Manager,下载工具JAR包。
wget https://dataworks-public-tools.oss-cn-shanghai.aliyuncs.com/dw-tools.jar
- 运行工具JAR包。
其中export PATH=$PATH:/usr/java/jdk1.8.0_181-cloudera/bin java -jar dw-tools.jar <user> <password>
<user>
和<password>
分别是Cloudera Manager的用户名和密码。 - 在运行结果中查看并记录CDH的Host地址和组件地址信息。
- 登录Cloudera Manager,下载工具JAR包。
- 方式二:在Cloudera Manager页面手动查看。登录Cloudera Manager,在主机(Hosts)下拉菜单中选择角色(Roles),根据关键字和图标识别出需要配置的服务,然后看左侧对应的主机(Host),按照格式补全要填写的地址。默认端口号可以参考方法一的输出结果样例。
其中
- HS2:HiveServer2
- HMS:Hive Metastore
- ID:Impala Daemon
- RM:YARN ResourceManager
- 方式一:使用DataWorks JAR包工具获取。
- 获取配置文件,用于后续上传至DataWorks。
- 获取CDH集群的网络信息,用于后续与DataWorks的独享调度资源组网络联通配置。
Step2:配置网络联通
DataWorks的独享调度资源组购买创建完成后,默认与其他云产品网络不可达,在对接使用CDH时,您需获取部署CDH集群的网络信息,将独享调度资源组绑定至CDH集群所在的VPC网络中,保障CDH集群与独享调度资源组的网络联通。
- 进入独享资源组网络配置页面。
- 登录DataWorks控制台。
- 在左侧导航栏,单击资源组列表,默认进入独享资源组页签。
- 单击已购买的独享调度资源组后的网络设置。
- 绑定VPC。
- 配置Host。
Step3:在DataWorks中新增CDH集群配置
只有工作空间管理员才能进行新增CDH集群配置操作,操作时请使用拥有空间管理员权限的账号。
- 进入项目空间管理页面。
- 登录DataWorks控制台。
- 在左侧导航栏,单击工作空间列表。
- 鼠标悬停至相应工作空间后的
图标,单击工作空间配置。
- 在项目空间管理页面,单击 。
- 在CDH集群配置页面单击立即新增,在新增CDH集群配置对话框中,填写上述步骤Step2:配置网络联通中记录的组件地址信息。
其中:
- 集群名称:可自定义集群名称。
- 版本信息:根据实际情况选择对应的CDH和组件版本。
- 地址信息:根据上述步骤中记录的地址信息填写。其中:
- Yarn的jobhistory.webapp.address信息:yarn.resourcemanager.address地址的端口修改为8088即为jobhistory.webapp.address。
- Presto的JDBC地址:Presto非CDH默认组件,需要根据实际部署情况填写访问地址。
- 上传配置文件并授权给其他工作空间。
- 配置访问身份的映射关系。如果您希望在运行任务时,对不同云账号在CDH集群内可访问的数据进行数据权限隔离,则可开启Kerberos账号(principal)认证,并配置云账号与Kerberos账号的权限映射关系。说明 Kerberos账号为CDH集群的访问账号。CDH集群通过Sentry或Ranger组件为Kerberos账号进行不同权限的配置,实现数据权限隔离。与Kerberos账号存在映射关系的云账号拥有相同的CDH集群数据访问权限。请填写格式为
实例名@领域名
的Kerberos账号(principal),例如,cdn_test@HADOOP.COM。 - 单击确定,完成新增CDH集群配置。完成新增CDH集群配置后,已授权的工作空间中可新增此CDH引擎,用于后续编辑并运行数据开发等任务。
Step4:在DataWorks中新增CDH引擎
- 在项目空间管理页面,单击工作空间配置。
- 在计算引擎信息区域的CDH页签单击增加实例,在弹窗中配置实例信息。新增引擎实例时,可选择使用快捷模式或安全模式访问模式,安全模式可以实现不同云账号运行任务时的数据权限隔离。不同访问模式的配置界面如下:
- 快捷模式的实例信息配置。
- 安全模式的实例信息配置。
- 快捷模式的实例信息配置。
- 单击确定,创建计算引擎实例。此步骤会触发独享调度资源组的初始化(安装访问CDH集群的客户端以及上传配置文件),您需要等待独享资源组初始化状态 从准备中变成完成,CDH引擎实例才创建完成。
- 在创建的CDH引擎实例页面单击测试服务连通性,DataWorks会运行测试任务测试客户端和配置文件是否正确安装。
使用DataWorks进行数据开发
完成新增CDH引擎后,您就可以在DataStudio(数据开发)中创建Hive、Spark、MapReduce、Impala或者Presto任务节点,直接运行任务或者设置周期调度运行任务。以下以创建并运行一个Hive任务为例,为您介绍在DataWorks中如何进行CDH引擎的数据开发和运行。
- 进入DataStudio页面。
- 登录DataWorks控制台。
- 在左侧导航栏,单击工作空间列表。
- 在对应工作空间的操作列单击进入数据开发。
- 创建业务流程,根据界面提示填写业务流程信息。
- 单击创建好的业务流程,在CDH引擎文件夹上右键选择 。
- 在右侧代码编辑框中编写Hive SQL,完成代码编辑后单击顶部
运行图标,选择调度资源组并确认,运行完毕后可以查看Hive SQL的运行结果。
- 如果想要设置任务周期调度,单击右侧的调度配置,在弹窗中设置时间属性、资源属性和调度依赖,完成后单击提交任务,提交成功后任务就可以按照配置周期调度运行,调度配置详情可参见 配置基础属性。
- 在运维中心中可以查看提交的周期任务,在周期实例中查看任务周期调度的运行情况。详细可参见查看并管理周期任务。
运维监控配置
CDH引擎的任务支持使用DataWorks运维中心的智能监控功能,通过自定义报警规则、配置任务告警,根据设置的报警规则自动触发任务运行异常报警。自定义报警规则操作可参见规则管理,配置任务告警操作可参见基线管理。
数据质量规则配置
在DataWorks上使用CDH引擎时,可使用DataWorks的数据质量服务进行数据查、对比、质量监控、SQL扫描和智能报警等功能,数据质量服务的详细操作可参见数据质量概述。