實(shí)現(xiàn)開發(fā)生產(chǎn)等多套環(huán)境隔離
使用DataWorks進(jìn)行大數(shù)據(jù)開發(fā)時,支持對開發(fā)、測試、生產(chǎn)等環(huán)境進(jìn)行隔離,當(dāng)您聯(lián)合使用了其他阿里云產(chǎn)品時,也可根據(jù)環(huán)境隔離訴求進(jìn)行對應(yīng)業(yè)務(wù)的環(huán)境設(shè)置與隔離,本文以DataWorks聯(lián)合EMR、OSS等產(chǎn)品為例,為您介紹如何實(shí)現(xiàn)開發(fā)生產(chǎn)等多套環(huán)境隔離。
背景信息
很多企業(yè)用戶在大數(shù)據(jù)的研發(fā)流程中有創(chuàng)建并隔離多套環(huán)境的需求,如創(chuàng)建并完全隔離開發(fā)、測試、生產(chǎn)環(huán)境,即各環(huán)境的數(shù)據(jù)物理存儲地址、任務(wù)運(yùn)行集群、大數(shù)據(jù)作業(yè)腳本均隔離,并對操作人員有嚴(yán)格的權(quán)限管控,如僅運(yùn)維團(tuán)隊(duì)可使用生產(chǎn)環(huán)境,開發(fā)人員只能使用開發(fā)環(huán)境等要求。
本文以使用DataWorks、EMR、OSS、DLF進(jìn)行大數(shù)據(jù)開發(fā),并實(shí)現(xiàn)開發(fā)、生產(chǎn)環(huán)境隔離為例,為您示例如何實(shí)現(xiàn)環(huán)境隔離。其中:
DataWorks用于管理大數(shù)據(jù)作業(yè)的開發(fā)、運(yùn)維、調(diào)度。
2個EMR集群分別用于開發(fā)和生產(chǎn)環(huán)境。
OSS用于存儲實(shí)際數(shù)據(jù)。
DLF用于存儲管理元數(shù)據(jù)。
DLF的環(huán)境隔離
在DLF中創(chuàng)建兩個數(shù)據(jù)目錄(catalog), 一個用于存儲開發(fā)環(huán)境下的元數(shù)據(jù)(dev catalog),一個用于存儲生產(chǎn)環(huán)境下的元數(shù)據(jù)(prod catalog),并設(shè)置目錄路徑為不同的OSS路徑。
操作詳情請參見數(shù)據(jù)目錄。
在相應(yīng)的數(shù)據(jù)目錄中創(chuàng)建數(shù)據(jù)庫, 建議開發(fā)、生產(chǎn)的數(shù)據(jù)目錄下的數(shù)據(jù)庫名稱相同,指向的OSS路徑不同,方便后續(xù)的遷移工作。
EMR集群的環(huán)境隔離
分別設(shè)置2個EMR集群中各個引擎的catalog信息,保證EMR開發(fā)環(huán)境的集群引擎使用上述創(chuàng)建的開發(fā)環(huán)境的數(shù)據(jù)目錄(dev catalog),生產(chǎn)環(huán)境集群引擎使用的是生產(chǎn)環(huán)境的數(shù)據(jù)目錄(prod catalog)。
以Hive引擎為例,用于開發(fā)環(huán)境的實(shí)例需修改hive引擎中dlf.catalog.id
為開發(fā)環(huán)境的數(shù)據(jù)目錄(dev catalog),核心配置頁面如下。操作詳情請參見管理配置項(xiàng)。
以上為hive引擎的示例,2個EMR實(shí)例中,所有類型的引擎都需參考上述描述進(jìn)行修改。
引擎配置修改完成后,需要下發(fā)配置并重啟組件,使修改的配置生效。
DataWorks的環(huán)境隔離
簡單模式空間環(huán)境隔離
分別創(chuàng)建2個簡單模式的DataWorks工作空間,一個用于開發(fā)環(huán)境,綁定開發(fā)環(huán)境的EMR集群,一個用于生產(chǎn)環(huán)境,綁定生產(chǎn)環(huán)境的EMR集群。操作詳情請參見創(chuàng)建工作空間。
在開發(fā)環(huán)境的工作空間中,使用DataStudio進(jìn)行任務(wù)開發(fā)和調(diào)度配置,同時建表語句使用SQL命令完成。
建表語句示例:
create table if not exists db1.table1 ( id int, name String);
說明由于數(shù)據(jù)庫已經(jīng)在DLF中聲明了路徑,此處不再聲明路徑。
使用跨項(xiàng)目克隆功能,將開發(fā)環(huán)境下的業(yè)務(wù)流程發(fā)布至生產(chǎn)環(huán)境的工作空間中。
選擇需要克隆的業(yè)務(wù)流程,并設(shè)置計(jì)算引擎的映射、資源組等配置。操作詳情請參見發(fā)布中心概述。完成后即可在生產(chǎn)環(huán)境的工作空間中看到對應(yīng)的任務(wù),您可根據(jù)生產(chǎn)環(huán)境的業(yè)務(wù)需求進(jìn)行修改、驗(yàn)收、發(fā)布。
標(biāo)準(zhǔn)模式空間環(huán)境隔離
標(biāo)準(zhǔn)模式空間下,可以通過使用工作空間參數(shù)功能實(shí)現(xiàn)開發(fā)環(huán)境和生產(chǎn)環(huán)境分別訪問不同的EMR庫。
空間參數(shù)賦值不同的開發(fā)生產(chǎn)庫名,在代碼變量中賦值工作空間參數(shù)時可實(shí)現(xiàn)開發(fā)生產(chǎn)訪問不同的EMR庫。
定義工作空間參數(shù)。
進(jìn)入數(shù)據(jù)開發(fā)頁面。登錄DataWorks控制臺,切換至目標(biāo)地域后,單擊左側(cè)導(dǎo)航欄的 ,在下拉框中選擇對應(yīng)工作空間后單擊進(jìn)入運(yùn)維中心。
單擊左側(cè)導(dǎo)航欄中的調(diào)度設(shè)置,單擊頁面中的工作空間參數(shù),單擊右側(cè)的新建工作空間參數(shù)按鈕,在新建工作空間參數(shù)對話框中,輸入以下參數(shù)信息:
參數(shù)名稱
示例值
參數(shù)名稱
emr_env,可自定義。
責(zé)任人
下拉選擇對應(yīng)用戶。
適用工作空間
選擇所選工作空間名稱。
參數(shù)類型
選擇常量(明文)。
參數(shù)值(開發(fā))
emr_dev,emr開發(fā)環(huán)境庫名。
參數(shù)值(生產(chǎn))
emr_prod,emr生產(chǎn)環(huán)境庫名。
描述
可自定義。
您需要使用代碼變量賦值工作空間參數(shù)實(shí)現(xiàn)開發(fā)生產(chǎn)訪問不同的EMR庫,可以在DataStudio進(jìn)行任務(wù)開發(fā)和調(diào)度配置時,單擊任務(wù)右側(cè)調(diào)度配置,在參數(shù)值位置配置工作空間參數(shù)名稱。具體操作如下圖所示:
任務(wù)發(fā)布開發(fā)環(huán)境時,變量會自動賦值為開發(fā)集群中存在的數(shù)據(jù)庫(emr_dev)。任務(wù)發(fā)布至生產(chǎn)環(huán)境時,變量會自動賦值為生產(chǎn)集群中存在的數(shù)據(jù)庫(emr_prod)。