附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用資源主體從 Oracle Big Data Service 叢集存取 OCI 物件儲存的儲存桶
簡介
Oracle Big Data Service 是由 Oracle 提供的雲端服務,可讓使用者建立與管理 Hadoop 叢集、Spark 叢集、Trino 及其他大數據服務。Oracle Cloud Infrastructure (OCI) 允許使用資源主體,在 Oracle Big Data Service 叢集和 OCI Object Storage 之間進行無縫整合。
本教學課程將引導您完成設定及存取 Oracle Big Data Service 叢集之 OCI Object Storage 儲存桶的作業,這些作業運用資源主體進行安全認證。
目標
-
設定讓 Oracle Big Data Service 使用資源主體存取 OCI Object Storage。
-
在 OCI 中設定原則。
-
從 Oracle Big Data Service 叢集存取測試儲存桶。
必要條件
-
已部署 Oracle Big Data Service 叢集。
-
存取 OCI 租用戶。
-
在 OCI 中建立原則所需具備的權限。
作業 1: 建立原則
-
登入 OCI 主控台,瀏覽至識別與安全,然後按一下原則。
-
建立下列原則,以授予 Oracle Big Data Service 叢集對 OCI 物件儲存的儲存桶的存取權。
allow any-user to read buckets in tenancy where ALL {request.principal.id='<BDS OCID>', target.bucket.name='<bucket name>'} allow any-user to read objects in tenancy where ALL {request.principal.id='<BDS OCID>', target.bucket.name='<bucket name>'}
注意:請分別將
<BDS OCID>
和<bucket name>
取代為您的 Oracle Big Data Service 叢集 OCID 和儲存桶名稱。
作業 2:在 Oracle Big Data Service 叢集中建立資源主體
-
前往 OCI 主控台,瀏覽至 Analytics and AI ,然後按一下 Big data Service 。
-
按一下部署的叢集。
-
按一下資源主體和建立資源主體。
-
輸入顯示名稱和階段作業記號有效期限 (小時) ,然後按一下建立。
作業 3:更新 Hadoop 分散式檔案系統 (HDFS) 組態
-
移至 Apache Ambari 主控台,導覽至 HDFS 、組態以及 進階。
-
請為您的 HDFS 組態更新下列特性。
fs.oci.client.custom.authenticator=com.oracle.oci.bds.commons.auth.BDSResourcePrincipalAuthenticator fs.oci.client.regionCodeOrId=us-region-1 fs.oci.rp.pem.passphrase.path=/etc/security/tokens/rpst.pass fs.oci.rp.pem.path=/etc/security/tokens/rpst.pem fs.oci.rp.rpst.path=/etc/security/tokens/rpst.token
注意:
bds_rp_users
群組擁有叢集中此資源主體之rpst
記號和金鑰。 -
儲存變更並重新啟動 Apache Ambari 中的必要服務。
工作 4:設定環境變數 ( 選擇性 )
對於透過 OCI 軟體開發套件 (SDK) 或其他用戶端存取儲存桶的應用程式,請確定已設定下列環境變數。
OCI_RESOURCE_PRINCIPAL_VERSION=2.2
OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM=/etc/security/tokens/rpst.pem
OCI_RESOURCE_PRINCIPAL_REGION=us-region-1
OCI_RESOURCE_PRINCIPAL_RPST=/etc/security/tokens/rpst.token
作業 5:測試 OCI 物件儲存的儲存桶存取
透過 SSH 登入 Oracle Big Data Service 叢集,並使用 HDFS 命令測試儲存桶的存取權。
hdfs dfs -ls oci://<bucket name>@<namespace>/
注意:請確定將
<bucket name>
取代為原則和<namespace>
值中使用的 OCI 儲存桶。
疑難排解與秘訣
-
Core-site.xml
驗證:如果無法存取儲存桶內容,請檢查 Apache Ambari 是否正確產生core-site.xml
檔案,並且包含正確的資源主體組態值。 -
HDFS 重新啟動:更新 HDFS 組態之後,請確定重新啟動所有必要的服務以套用變更。
-
原則範圍:再次檢查原則是否已正確定義並套用至您的 Oracle Big Data Service 叢集。
接下來的步驟
-
探索進階 OCI SDK 整合,以獲得更複雜的資料存取。
-
使用
DistCp
上傳和下載資料:設定儲存桶存取之後,您可以使用 Hadoop 的DistCp
命令,有效率地在 HDFS 和 OCI Object Storage 之間傳輸大型資料集。這對於備份、移轉或大規模資料移動特別有用。 -
使用 Oozie 排定資料傳輸:使用 Oozie 排定定期的 DistCp 工作進行定期備份或資料同步,以自動化上傳和下載流程。
相關連結
認可
- 作者 - Pavan Upadhyay (Principal Cloud Engineer)、Saket Bihari (Principal Cloud Engineer)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Access OCI Object Storage Buckets from Oracle Big Data Service Cluster Using Resource Principal
G16230-01
September 2024