Data Engineering的创建与使用
本文通过一个简单的案例介绍了Data Engineering的创建和使用,包括如何创建和初始化虚拟Spark集群,以及如何创建和提交Spark作业。
前提条件
由于Data-Service集群的Management Console部署在内网中,因此需要通过SSH隧道访问。隧道的打通请参见通过SSH隧道访问Cloudera Manager服务组件Web UI。
操作步骤
步骤一、在FreeIPA中创建用户并分配权限
在FreeIPA中添加用户,User login字段填入用户名称,该用户会用于登录Data-Service集群的Management Console,New Password字段填入用于认证的用户密码,其他字段根据需要填写。
使用新添加的用户登录Data-Service集群的Management console。
此时用户还没有任何权限。使用管理员账户admin重新登录Management Console为新添加的用户赋予PowerUser的角色。
退出Admin账户,使用新添加的用户重新登录Management Console继续后续操作。
步骤二、在CDE管控创建CDE Services
在CDE管控点击Enable CDE Service,并填入Name和Environment信息,点击Enable,等待几分钟CDE服务就会启动起来。
步骤三、创建虚拟Data Engineering集群
CDE Service启动后,点击Create DE Cluster创建虚拟Spark集群。填入集群名称,并选择CDE Service以及Spark版本等信息,点击Create开始创建。
步骤四、初始化集群
登录集群,在集群节点 cdp-ds-1-1 节点中下载初始化脚本:cdp-cde-utils.sh,为该脚本赋予可执行权限。如果cdp-ds-1-1 节点无法连接外部网络,可以在 cdp-utility-1-1 节点下载,并复制到 cdp-ds-1-1 节点上。如下脚本演示了使用cdp-utility-1-1节点下载脚本,再将脚本复制到cdp-ds-1-1节点上。
# ssh 登录到cdp-utility-1-1节点上 # 下载初始化脚本: wget https://docs.cloudera.com/data-engineering/1.4.0/cdp-cde-utils.sh # 为该脚本赋予可执行权限 chmod +x cdp-cde-utils.sh # 将初始化脚本copy到cdp-ds-1-1节点上 scp cdp-cde-utils.sh cdp-ds-1-1:/root
获取虚拟集群的域名。
进入CDE Service的管控,点击Cluster Details按钮,进入到集群详情页面。
点击JOBS API URL,复制API的URL地址,并粘贴到文本编辑器中。
从URL地址中获取到虚拟机群的域名。例如:假如在上一步中复制的URL地址为:https://9nfr2b8c.cde-9mbk9hlb.apps.cdp-ds-1-1/dex/api/v1,那么虚拟集群的域名为:9nfr2b8c.cde-9mbk9hlb.apps.cdp-ds-1-1。
初始化集群,生成自签名证书。
进入节点cdp-ds-1-1的集群初始化脚本cdp-cde-util.sh所在目录,执行命令:
./cdp-cde-utils.sh init-virtual-cluster -h <域名> -a
,命令中的域名需要替换为上一步获取到的域名,比如,针对上一步骤获取到的域名,初始化命令如下:./cdp-cde-utils.sh init-virtual-cluster -h 9nfr2b8c.cde-9mbk9hlb.apps.cdp-ds-1-1 -a
初始化之后就可以在管控访问Spark Job的创建和提交页面和Airflow的UI了。但目前还无法往虚拟Spark集群提交作业,在使用用户alex往虚拟集群提交作业之前,还需要针对用户alex进行安全认证。
登录节点cdp-ds-1-1,执行命令
kinit alex
,密码为创建用户时设置的密码,首次kinit会要求修改密码,按照指引操作即可。在节点cdp-ds-1-1上继续执行命令
ipa-getkeytab -p alex -k alex.keytab
,以获取keytab。在节点cdp-ds-1-1创建文件,文件名称为alex.principal,文件内容为alex@ALICLOUDPVC.COM。
执行命令:
./cdp-cde-utils.sh init-user-in-virtual-cluster -h <域名> -u admin -p alex.principal -k alex.keytab
。
步骤五、使用Data Engineering管控进行作业提交和调度
进入Spark Job的管理界面。
在Spark Job的管理界面创建作业:以Spark example中的例子Pi的计算进行演示。
点击Create and Run后即可在Job Runs Tab中看到提交的Spark 作业。