對於巨量資料處理情境,如果用戶端需要從開源巨量資料開發平台E-MapReduce(簡稱EMR)叢集外部(如ECS或K8s Pod)提交作業,會因為無法通過內網網域名稱解析導致作業提交失敗。您可以啟用DNS主機名稱,啟用後叢集外部的用戶端可以通過DNS主機網域名稱與EMR叢集中的任意節點互連,簡化作業提交流程。
功能簡介
什麼是DNS主機名稱?
網域名稱系統(DNS)是互連網中用於將網域名稱解析為IP地址的標準系統和協議。DNS主機名稱是一個在網路中唯一且絕對區分網路電腦的名稱,它由主機名稱和網域名稱組成。DNS伺服器負責將DNS主機名稱解析到對應的IP地址,使使用者能夠通過網域名稱便捷地訪問各種網路資源。
工作原理
在Virtual Private Cloud中,DNS主機名稱用於標識ECS執行個體,通過在VPC內啟用DNS主機名稱,可以為該VPC內的ECS執行個體配置內建權威網域名稱。該網域名稱格式為[regionID].ecs.internal
,關於該網域名稱的基本構成和使用限制,請參見ECS私網網域名稱。
啟用DNS主機名稱後,該VPC會綁定預設DHCP選項集,若該VPC下無預設DHCP選項集,系統會自動建立並綁定至該VPC。
例如在馬來西亞(吉隆坡)地區已建立的VPC中啟用DNS主機名稱,此時該VPC中的ECS執行個體配置的內建權威網域名稱為ap-southeast-3.ecs.internal
,您可以為VPC中的ECS執行個體配置執行個體ID格式的主機名稱,並設定基於執行個體ID格式的私網網域名稱解析,配置後VPC內的ECS即可通過主機網域名稱i-******.ap-southeast-3.ecs.internal
實現資源互訪。具體流程如下圖所示。
適用情境
通過DNS主機網域名稱訪問商務服務器,主要適用於以下情境:
分散式運算叢集:在分散式運算如Hadoop的叢集環境,針對EMR叢集,通過DNS主機網域名稱可以確保外部客戶端訪問叢集內的服務,從而簡化資源調度及作業提交流程。
自動化部署和組態管理:在自動化部署和組態管理情境中,通過在設定檔和指令碼中使用DNS主機網域名稱代替直接的IP地址引用,可以實現即使執行個體IP變化也不影響服務發現和配置的準確性。
情境樣本
本文以下圖情境為例,某企業在馬來西亞(吉隆坡)地區擁有Virtual Private Cloud。在VPC中部署了EMR進行巨量資料分析,EMR叢集通常由Master和Core這兩種類型的節點群組成。Kerberos作為身分識別驗證協議,部署在Master節點,確保叢集中的安全性和所有節點間通訊的安全性。目前提交作業僅限於EMR叢集內部。
現因業務發展,企業需要通過叢集外部的用戶端ECS執行個體(已部署Gateway環境),向EMR叢集主機名稱為i-8ps******5py2u
的Master節點提交作業。該企業可以為VPC啟用DNS主機名稱,啟用後,叢集外部的用戶端可以通過DNS主機網域名稱與EMR叢集中的Master節點進行通訊。
圖 1. 外部客戶端訪問EMR內的Master節點
注意事項
啟用DNS主機名稱時,請勿刪除預設DNS伺服器位址,刪除該地址會導致ECS執行個體的主機網域名稱無法解析。
同VPC下叢集外部的用戶端ECS執行個體(已部署Gateway環境),必須與EMR叢集的Master節點配置的安全性群組相同。
DNS主機名稱功能目前處於邀測中,如需使用,請聯絡客戶經理申請。
前提條件
您已在馬來西亞(吉隆坡)地區建立Virtual Private Cloud。
您已在EMR on ECS控制台建立EMR叢集,該叢集使用預設配置即一個Master節點,兩個Core節點,並已開啟Kerberos身份認證開關。
您已建立用於在外部提交EMR作業的用戶端ECS執行個體,並已在該執行個體中部署Gateway環境。
操作步驟
步驟一:啟用DNS主機名稱
- 登入專用網路管理主控台。
在頂部功能表列處,選擇目標Virtual Private Cloud的地區。本文選擇馬來西亞(吉隆坡)。
在專用網路頁面,單擊目標VPC執行個體ID,在專用網路基本資料地區,啟用DNS主機名稱。
步驟二:為ECS執行個體配置私網網域名稱解析
啟用DNS主機名稱後,您需要為叢集外部的用戶端和Master節點的ECS執行個體配置私網網域名稱解析。
登入ECS管理主控台。
在左側導覽列,選擇 。
分別為用戶端和Master節點的ECS執行個體配置私網網域名稱解析。
在操作列選擇> 執行個體屬性 > 編輯執行個體屬性,在編輯執行個體屬性對話方塊,配置如下方式網域名稱解析。
步驟三:結果驗證
本文用於驗證網域名稱解析的用戶端以Alibaba Cloud Linux 3.2104 64位作業系統為例。
登入叢集外部的用戶端ECS,開啟命令列視窗。
執行以下ping命令,測試用戶端的ECS是否能夠通過DNS主機網域名稱訪問EMR叢集的Master節點。
ping i-8ps******5py2u.ap-southeast-3.ecs.internal
如果能收到如下回複報文,則表示DNS主機網域名稱可以訪問EMR叢集的Master節點。
更多操作
禁用DNS主機名稱
禁用DNS主機名稱後,VPC分配的私網網域名稱失效,通過私網網域名稱無法解析ECS執行個體對應的IP地址。
在專用網路頁面,單擊執行個體ID,然後在專用網路基本資料地區,找到DNS主機名稱,在右側單擊禁用。
相關文檔
如果您想要瞭解DHCP選項集的資訊,請參見通過DHCP選項集統一配置VPC內ECS網域名稱。
如果您需要瞭解更多ECS私網網域名稱解析資訊,請參見ECS私網網域名稱解析。