Data Engineering的創(chuàng)建與使用
本文通過(guò)一個(gè)簡(jiǎn)單的案例介紹了Data Engineering的創(chuàng)建和使用,包括如何創(chuàng)建和初始化虛擬Spark集群,以及如何創(chuàng)建和提交Spark作業(yè)。
前提條件
由于Data-Service集群的Management Console部署在內(nèi)網(wǎng)中,因此需要通過(guò)SSH隧道訪問(wèn)。隧道的打通請(qǐng)參見(jiàn)通過(guò)SSH隧道訪問(wèn)Cloudera Manager服務(wù)組件Web UI。
操作步驟
步驟一、在FreeIPA中創(chuàng)建用戶并分配權(quán)限
在FreeIPA中添加用戶,User login字段填入用戶名稱,該用戶會(huì)用于登錄Data-Service集群的Management Console,New Password字段填入用于認(rèn)證的用戶密碼,其他字段根據(jù)需要填寫(xiě)。
使用新添加的用戶登錄Data-Service集群的Management console。
此時(shí)用戶還沒(méi)有任何權(quán)限。使用管理員賬戶admin重新登錄Management Console為新添加的用戶賦予PowerUser的角色。
退出Admin賬戶,使用新添加的用戶重新登錄Management Console繼續(xù)后續(xù)操作。
步驟二、在CDE管控創(chuàng)建CDE Services
在CDE管控點(diǎn)擊Enable CDE Service,并填入Name和Environment信息,點(diǎn)擊Enable,等待幾分鐘CDE服務(wù)就會(huì)啟動(dòng)起來(lái)。
步驟三、創(chuàng)建虛擬Data Engineering集群
CDE Service啟動(dòng)后,點(diǎn)擊Create DE Cluster創(chuàng)建虛擬Spark集群。填入集群名稱,并選擇CDE Service以及Spark版本等信息,點(diǎn)擊Create開(kāi)始創(chuàng)建。
步驟四、初始化集群
登錄集群,在集群節(jié)點(diǎn) cdp-ds-1-1 節(jié)點(diǎn)中下載初始化腳本:cdp-cde-utils.sh,為該腳本賦予可執(zhí)行權(quán)限。如果cdp-ds-1-1 節(jié)點(diǎn)無(wú)法連接外部網(wǎng)絡(luò),可以在 cdp-utility-1-1 節(jié)點(diǎn)下載,并復(fù)制到 cdp-ds-1-1 節(jié)點(diǎn)上。如下腳本演示了使用cdp-utility-1-1節(jié)點(diǎn)下載腳本,再將腳本復(fù)制到cdp-ds-1-1節(jié)點(diǎn)上。
# ssh 登錄到cdp-utility-1-1節(jié)點(diǎn)上 # 下載初始化腳本: wget https://docs.cloudera.com/data-engineering/1.4.0/cdp-cde-utils.sh # 為該腳本賦予可執(zhí)行權(quán)限 chmod +x cdp-cde-utils.sh # 將初始化腳本copy到cdp-ds-1-1節(jié)點(diǎn)上 scp cdp-cde-utils.sh cdp-ds-1-1:/root
獲取虛擬集群的域名。
進(jìn)入CDE Service的管控,點(diǎn)擊Cluster Details按鈕,進(jìn)入到集群詳情頁(yè)面。
點(diǎn)擊JOBS API URL,復(fù)制API的URL地址,并粘貼到文本編輯器中。
從URL地址中獲取到虛擬機(jī)群的域名。例如:假如在上一步中復(fù)制的URL地址為:https://9nfr2b8c.cde-9mbk9hlb.apps.cdp-ds-1-1/dex/api/v1,那么虛擬集群的域名為:9nfr2b8c.cde-9mbk9hlb.apps.cdp-ds-1-1。
初始化集群,生成自簽名證書(shū)。
進(jìn)入節(jié)點(diǎn)cdp-ds-1-1的集群初始化腳本cdp-cde-util.sh所在目錄,執(zhí)行命令:
./cdp-cde-utils.sh init-virtual-cluster -h <域名> -a
,命令中的域名需要替換為上一步獲取到的域名,比如,針對(duì)上一步驟獲取到的域名,初始化命令如下:./cdp-cde-utils.sh init-virtual-cluster -h 9nfr2b8c.cde-9mbk9hlb.apps.cdp-ds-1-1 -a
初始化之后就可以在管控訪問(wèn)Spark Job的創(chuàng)建和提交頁(yè)面和Airflow的UI了。但目前還無(wú)法往虛擬Spark集群提交作業(yè),在使用用戶alex往虛擬集群提交作業(yè)之前,還需要針對(duì)用戶alex進(jìn)行安全認(rèn)證。
登錄節(jié)點(diǎn)cdp-ds-1-1,執(zhí)行命令
kinit alex
,密碼為創(chuàng)建用戶時(shí)設(shè)置的密碼,首次kinit會(huì)要求修改密碼,按照指引操作即可。在節(jié)點(diǎn)cdp-ds-1-1上繼續(xù)執(zhí)行命令
ipa-getkeytab -p alex -k alex.keytab
,以獲取keytab。在節(jié)點(diǎn)cdp-ds-1-1創(chuàng)建文件,文件名稱為alex.principal,文件內(nèi)容為alex@ALICLOUDPVC.COM。
執(zhí)行命令:
./cdp-cde-utils.sh init-user-in-virtual-cluster -h <域名> -u admin -p alex.principal -k alex.keytab
。
步驟五、使用Data Engineering管控進(jìn)行作業(yè)提交和調(diào)度
進(jìn)入Spark Job的管理界面。
在Spark Job的管理界面創(chuàng)建作業(yè):以Spark example中的例子Pi的計(jì)算進(jìn)行演示。
點(diǎn)擊Create and Run后即可在Job Runs Tab中看到提交的Spark 作業(yè)。