計劃

您可以使用大數據服務在 OCI 中導入資料湖的多步驟工作流程。

  1. 需求:列出 OCI 中新環境的需求

  2. 評估:評估所需的 OCI 服務和工具

  3. 設計:設計解決方案架構並調整 OCI 的大小

  4. 計畫:建立您的時間與資源的詳細計畫對應

  5. 佈建:在 OCI 中佈建並設定必要的資源

  6. 導入:導入您的資料和應用程式工作負載

  7. 自動化管線:協調及排定自動化的工作流程管線

  8. 測試與驗證:執行解決方案的端對端驗證、功能性與效能測試。

定義需求

第一項應執行的作業是製作系統和應用程式需求的目錄。

下表提供範例樣板,並可作為適應使用案例的起點。

尋找主題 目前設定 OCI 需求 註記與備註
資料大小 - - -
成長率 - - -
檔案格式 - - -
資料壓縮格式 - - -
資料中心詳細資訊 (適用於混合架構) - - -
VPN/FastConnect 設定的網路連線詳細資訊 - - -
DR (RTO、RPO) - - -
HA SLA - - -
備份策略 - - -
基礎架構管理與監督 - - -
通知與警示 - - -
維護和升級程序 - - -
服務台 / 事件管理 - - -
認證方法 - - -
授權方法 - - -
加密詳細資訊 (靜態和移動中) - - -
金鑰和憑證處理作業 - - -
Kerberos 詳細資訊 - - -
規範需求 - - -
每個來源的資料來源和擷取技術 - - -
ETL 需求 - - -
分析需求 - - -
資料查詢需求 - - -
BI/ 視覺化,報告需求 - - -
與其他解決方案整合 - - -
筆記本與資料科學工作負載詳細資訊 - - -
工作流程、協調及排定需求 - - -
批次工作負載 - 每個工作和應用程式的詳細資訊 - - -
互動式工作負載 - 使用者數目、每個工作和應用程式的詳細資訊 - - -
串流處理工作負載 - 每個工作和應用程式的詳細資訊 - - -
每個與資料湖整合的應用程式詳細資訊 - - -
團隊詳細資料 (系統管理員、開發人員、應用程式擁有者、一般使用者) - - -

評估

在此階段中,分析您在需求階段期間收集的所有資料與資訊。

之後,您就可以使用該資訊來決定在 OCI 中需要的服務和工具。在評估結束時,您應該有一個顯示要使用的每個 OCI 資料服務的高階架構,以及將會在其中導入哪些功能。

下圖是您在此階段建立的架構類型範例。

architecture-hadoop-datalake.png 的描述如下
architecture-hadoop-datalake.png 圖解的描述

設計

在此階段中,判斷 Oracle Cloud Infrastructure (OCI) 的解決方案架構與初始大小。

使用您在評估階段建立的參考架構做為起點。

若要深入瞭解 OCI 平台,以及如何在 OCI 中建立應用系統。您也必須在 OCI 中設定網路和 IAM 原則。

計劃

在此階段中,建立含有時間與資源對應的詳細專案計畫。

對於每個活動,應判定任務的詳細資訊、利益關係人 RACI 與時間軸。

專案計畫

建立一個包含所有活動、其時間行以及其相依性的專案計畫。

下圖顯示高層次專案計畫的範例。

project-plan.png 的描述如下
project-plan.png 圖解的描述

用料表

根據您的評估與設計,在 OCI 中建立目標環境的 BOM

列出要使用的每個服務及其大小和組態資訊。下表是您可能會包含在用料表中的料號範例。

OCI 服務 調整大小與組態
Big Data Service,大數據服務 -
資料科學 -
資料目錄 -
虛擬機器 -
區塊儲存 -
物件儲存 -
Autonomous Data Warehouse -
虛擬雲端網路 -
識別與存取管理 -

大數據服務規劃

在本節中,我們會討論在 Big Data Service (BDS) 中啟動叢集的重要選擇

BDS Hadoop 叢集會在 OCI 運算執行處理上執行。您必須決定要使用的執行處理類型。這些執行處理會在虛擬雲端網路 (VCN) 子網路中執行。需要先設定才能啟動叢集。您還必須降低連附至叢集節點之區塊磁碟區的儲存需求。此外,還需要設定 IAM 原則。

節點類型有兩種:

  • 主要和公用程式節點。這些節點包含叢集作業及管理所需的服務。它們不會儲存或處理資料。

  • 工作節點這些節點會儲存並處理資料。遺失工作節點不會影響叢集的作業,但可能會影響效能。

叢集以安全、高可用性或最低限度 (非 HA) 模式部署。同時還需要為要設定的 Hadoop 元件和其大小建立計畫。檢閱「瀏覽更多」區段中的 BDS 文件連結,瞭解設定及調整叢集大小。

您可以使用下表來協助建立 BDS 叢集的計畫。

主題 調整大小與組態
安全且高可用性或最低限度 (非 HA) 組態 -
工作節點數目 -
每一節點的儲存 -
主要節點運算執行處理類型和資源配置 -
工作節點運算執行處理類型和資源配置 -
主要節點 1 Hadoop 服務組態 -
主要節點 2 Hadoop 服務組態 (如果適用) -
公用程式節點 1 Hadoop 服務組態 -
公用程式節點 2 Hadoop 服務組態 (若適用) -
公用程式節點 3 Hadoop 服務組態 (若適用) -
工作節點 Hadoop 服務組態 -
虛擬雲端網路詳細資訊 -
已套用身分識別與存取管理原則 -
Ambari 組態 -
HDFS 組態 -
Hive 組態 -
HBase 組態 -
Spark 組態 -
Oozie 組態 -
Sqoop 組態 -
Tez 設定 -
Zookeeper 組態 -

規劃架構中其他服務的組合與大小時,您可以使用相似的表格。

佈建

根據 BOM 中的最終狀態架構設計與調整大小資訊,根據專案計畫中列出的作業佈建與設定 OCI 中的必要資源。

大數據服務部署工作流程

您必須先在 IAM 中設定權限,然後為叢集設定 VCN,才能設定 BDS 叢集。

設定 IAM

建立具備 BDS 叢集之存取權限的額外 IAM 群組。

您應該將 BDS 叢集管理作業委派給一或多個 BDS 管理員。

如果群組名稱是 bds-admin-group,而新的叢集則是在「叢集」區間中,您可以建立下列原則:

allow group bds-admin-group to manage virtual-network-family in compartment Cluster
 allow group bds-admin-group to manage bds-instance in compartment Cluster

並使用下列原則敘述句建立原則:

allow service bdsprod to 
{VNIC_READ, VNIC_ATTACH, VNIC_DETACH, VNIC_CREATE, VNIC_DELETE,VNIC_ATTACHMENT_READ,
 SUBNET_READ, VCN_READ, SUBNET_ATTACH, SUBNET_DETACH, INSTANCE_ATTACH_SECONDARY_VNIC,
 INSTANCE_DETACH_SECONDARY_VNIC} in compartment Cluster

設定 VCN

您至少需要在單一區域中有一個子網路的單一 VCN,而且可以存取公用網際網路。

對於複雜的生產環境,您可以有多個子網路,以及不同的安全規則。您可以將 VCN 連線至企業內部部署網路,也可以連線至其他區域的其他 VCN。如需 OCI 網路的詳細資訊,請參閱 OCI 文件。

建立 BDS 叢集

選擇叢集的名稱、叢集管理員密碼以及主要、公用程式和工作節點的大小。

建立叢集時,可以選擇該叢集的名稱、叢集管理員密碼,以及主要、公用程式及工作節點的大小。也有勾選方塊,以選取安全和高可用性 (HA) 叢集組態。HA 提供 4 個主要節點與公用程式節點,而非最少的非 HA 組態中的 2 個節點。

請確定您在區間中建立叢集,而且在要所在的 VCN 中。此外,請確定叢集專用網路的 CIDR 區塊未與包含叢集之子網路的 CIDR 區塊範圍重疊。

存取 BDS 叢集

大數據服務節點是預設指定的專用 IP 位址,無法從公用網際網路存取。

您可以使用下列其中一種方法,讓叢集中的節點可以使用:

  • 您可以將叢集中所選節點的專用 IP 位址對應至公用 IP 位址,使其可在網際網路上公開存取。
  • 您可以使用防禦主機設定 SSH 通道。只有防禦主機會暴露在公用網際網路中。防禦主機可讓您從公用網際網路存取叢集的專用網路。
  • 您可以使用 VPN 連線,在企業內部部署網路與 VCN 之間提供站對站網際網路協定安全性 (IPSec) VPN。您也可以使用 OCI FastConnect 存取 OCI 中的服務,無須透過公用網際網路。使用 FastConnect 時,流量會通過專用的實體連線。

管理 BDS 叢集

對於 BDS 與 Oracle Distribution (包括 Apache Hadoop (ODH),您可以使用 Apache Ambari 來管理叢集。

它是在叢集的公用程式節點上執行。您必須在網路安全清單中設定傳入規則,才能在節點上開啟連接埠 7183。

若要存取 Ambari,請開啟瀏覽器視窗,並使用公用程式節點的 IP 位址輸入 URL。例如:https://<ip_address_or_hostname>:7183

使用您在建立叢集時所輸入的叢集管理員使用者 (預設管理員) 和密碼。

ambari-dashboard-metrics.png 的描述如下
ambari-dashboard-metrics.png 圖解的描述

實行

開始在每個階段實作應用程式與服務。選取特定服務前,需要考慮多個準則。

請注意,部分服務可在多個階段中使用。例如,大數據服務具有可用於擷取階段、商店階段及轉換階段的元件。

擷取

  • 資料傳輸設備:移轉至 OCI 時,您可以使用資料傳輸服務將資料離線移轉至物件儲存。

  • 大數據服務:大數據服務提供常見的 Hadoop 元件,其中包含 Kafka、Flume 以及 Sqoop 等資料擷取。使用者可以依據需求設定這些工具。Kafka 可用來即時擷取事件和資料。例如,假設使用者有來自其 App 或伺服器的事件,而想要即時擷取事件,則可以使用 Kafka 並將資料寫入 HDFS 或物件儲存。Flume 可用來將串流處理資料擷取至 HDFS 或 Kafka 主題。Sqoop 是最常用的 Hadoop 工具之一,用來從關聯式資料庫和資料倉儲等結構化資料擷取資料。

Store - 儲存庫

  • 大數據服務:BDS 提供標準 Hadoop 元件,包括 HDFS 和 HBase。資料可從 Spark 串流、Spark 批次或任何其他工作寫入 HDFS。HBase 提供在 HDFS 上執行的非關聯式資料庫。它可以用來儲存儲存為索引鍵 - 值組的大型資料集。將資料從 Spark 工作讀取和寫入 HBase,以作為擷取或轉換的一部分。

  • 物件儲存:OCI 物件儲存服務是網際網路規模高效能儲存平台,提供可靠且符合成本效益的資料持久性。它可以儲存不限數量的任何內容類型資料,包括分析資料和像是影像與影片等豐富內容。在此樣式中,物件儲存可作為一般用途斑點存放區。大數據服務和其他服務都可以讀取及寫入物件儲存的資料。

轉換與服務

  • 大數據服務 (BDS) :BDS 提供可用來處理資料的 Hadoop 元件,例如 Spark 與 Hive。Hive 和 Spark SQL 可用來執行 HDFS 和物件儲存體資料的 SQL 查詢。資料儲存在 HDFS 或物件儲存之後,只要指向資料即可建立表格,然後任何商業智慧 (BI) 工具或自訂應用程式可以連線至這些介面,以執行資料的查詢。使用者可以將複雜的批次工作寫入為走勢,這可能是處理大規模的資料,或是有多階段非常複雜的轉換。利用 Spark 來進行從多個來源 (包括 HDFS、HBase 及 Object Storage) 讀取和寫入的工作。Oracle Cloud SQL 是可用的附加服務,可讓您對 HDFS、Kafka 和 Oracle Object Storage 中的資料起始 Oracle SQL 查詢。

BI、ML、視覺化以及治理

  • 資料目錄:使用 OCI 資料目錄服務收集跨 Oracle Cloud Infrastructure 生態系統和企業內部部署資料來源的描述資料,以建立資料資產的庫存。您可以使用它來建立與管理含有類別、子類別及業務詞彙的企業詞彙,以使用者新增標記建立業務概念分類,提高搜尋的生產力。這不僅有助於治理,讓資料消費者更容易找到他們進行分析所需的資料。

  • 資料科學:資料科學是一個完全受管理且無伺服器平台,讓資料科學團隊能夠在 Oracle Could Infrastructure 中建立、訓練、部署及管理機器學習模型。它讓資料分析師具備協同合作、專案導向工作區,搭配開源社群及 Oracle 加速資料科學程式庫開發的 Jupyter Notebook 工具、程式庫以及套裝程式。它與堆疊的其餘部分整合,包括資料流程、Autonomous Data Warehouse 及物件儲存。

  • Oracle Analytics Cloud (OAC) :OAC 提供 AI 智能的自助服務分析功能,用於資料準備、探索及視覺化;智慧型企業與臨機操作報表搭配強化分析;以及自然語言處理 / 產生。

自動

實行系統後,您可以排定個別工作,或設定一或多個管線來新增自動化。

您可以設定工作流程管理工具,例如 Airflow 或 Oozie。設定大數據服務叢集時,就會包含在內預先設定 Oozie。