全部產品
Search
文件中心

Hologres:主從執行個體讀寫分離部署(共用儲存)

更新時間:Jun 30, 2024

Hologres 從V1.1版本開始,針對線上生產環境高可用的情境,提供了共用儲存的主從多執行個體部署方式,在該模式下支援故障隔離,負載隔離,有效支撐了高可用情境。本文介紹高可用方案的一些基本原理以及如何配置共用儲存的主從多執行個體。

單一實例自動回復的高可用方案

Hologres計算節點均為容器調度(即下圖中的Worker Node),資源管理員(Resource Manager)負責周期性健全狀態檢查。當出現1分鐘容器響應逾時(可能是記憶體溢出、硬體故障、軟體Bug等原因導致),Resource Manager會自動拉起新的計算節點,並遷移Shard職責到新的節點上(例如Worker Node3響應逾時,Resource Manager拉起Worker Node4取代Worker Node3),實現系統狀態的快速恢複。資料狀態儲存在Apsara Distributed File System分布式儲存系統中,無需從計算節點遷移,計算節點輕量無狀態,系統可以快速從故障中恢複。該方案為當前每個執行個體內部預設啟用,當系統發生故障時,無需手工營運介入,系統可以自動回復。在恢複期間,如果查詢運算元需要訪問恢複中的節點,則查詢會立即失敗。Hologres從V1.1版本開始,採用全新恢複機制,節點恢複速度在一分鐘左右,比早期版本提速5~10倍。單可用方案

共用儲存的多執行個體高可用方案

技術原理

在單一實例方案中,採用的是故障即時監測、節點替換的方案,在節點恢複時存在一定的服務不可用周期,對於關鍵業務情境,需要更進階別的高可用方案,支援故障隔離、負載隔離。Hologres在 V1.1版本,支援採用共用儲存的多執行個體部署方案。在該方案中,主執行個體具備完整能力,資料可讀可寫,許可權、系統參數可配置,而唯讀從執行個體處於唯讀狀態,所有的變更都通過主執行個體完成,如下圖所示。共用儲存多執行個體主從執行個體之間計算資源不共用,負載隔離,故障隔離。所有執行個體共用同一份資料和存取控制,僅有一份儲存費用。

執行個體之間記憶體狀態自動即時同步,同一個Region毫秒級同步,同步以執行個體為單位。當主執行個體寫入時,系統會自動將主執行個體的資料同步給從執行個體,因此從執行個體的在不使用的情況下,CPU和記憶體也有一定的開銷(約為主執行個體的1/8),同時也建議主從執行個體的規格配置差異不要太過明顯。

使用說明

  • 當前最多可以配置十個唯讀從執行個體,各執行個體之間的資源配置可以不同,但不應該有明顯差異,所有執行個體之間Shard數相同。

  • 不同唯讀從執行個體具備獨立的訪問Endpoint,在使用上,通過Endpoint隔離不同的業務情境。

  • 從Hologres V1.3.27版本開始,主從執行個體的延遲閾值從20分鐘調整為60分鐘,超過60分鐘後,若從執行個體的資源使用率長期達到100%,從執行個體會自動重啟,以此來緩解同步延遲。建議從執行個體資源使用率長期達到100%時,對從執行個體的查詢適當進行效能調優或者擴容執行個體。

  • 唯讀從執行個體綁定主執行個體的過程中主執行個體可以正常使用,綁定過程中不影響主執行個體。

  • 唯讀從執行個體綁定主執行個體大概需要3~5分鐘,綁定完成後,方可使用唯讀從執行個體。

  • 無法串連未綁定主執行個體的唯讀從執行個體。

  • MaxCompute直讀Hologres儲存層資料時,若Hologres配置為主從架構,則僅支援配置串連URL為主執行個體,不支援配置為從執行個體。詳情請參見開啟Hologres外部表格儲存直讀功能

應用情境建議

  • 通用類情境:

    建議將主執行個體作為資料寫入和資料加工執行個體,唯讀從執行個體作為資料分析執行個體,保障讀寫分離。

  • 多情境:

    • 對於線上服務類的查詢業務,由於對於查詢的P99穩定性要求較高,建議單獨使用一個唯讀從執行個體,有效保障線上服務高可用。

    • 對於OLAP查詢類,可與線上服務從執行個體分開,單獨使用一個資料分析從執行個體,保證兩種讀分離,避免大Query對線上服務查詢的影響。

配置共用儲存的主從執行個體

共用儲存多執行個體使用限制如下。

  • 僅Hologres V1.1及以上版本支援作為主執行個體,如果您的執行個體是V1.1以下版本,請您使用自助升級或加入即時數倉Hologres交流群申請升級執行個體,詳情請參見如何擷取更多的線上支援?

  • 唯讀從執行個體未綁定主執行個體時,無法串連唯讀從執行個體。

  • 主執行個體的版本和唯讀從執行個體版本必須一致。

  • 主執行個體和唯讀從執行個體必須處於同一個Region。

綁定和解除綁定操作的許可權說明

您需要為RAM使用者授予AliyunHologresFullAccess權限原則,方可進行綁定和解除綁定唯讀從執行個體操作。更多關於RAM角色許可權的介紹請參見授予RAM使用者權限

配置共用儲存多執行個體的高可用操作步驟如下。

  1. 購買新的Hologres執行個體

    重要

    唯讀從執行個體需要與主執行個體處在同一個Region中。

    購買新執行個體時,執行個體類型選擇為唯讀從執行個體唯讀從執行個體的主執行個體ID選擇該可用性區域下需要綁定的主執行個體,其他參數說明請參見購買Hologres

  2. 綁定唯讀從執行個體

    完成購買後,唯讀從執行個體會直接綁定到您在售賣頁面上選擇的主執行個體,待唯讀從執行個體達到運行正常狀態時,您即可使用唯讀從執行個體。

  3. 使用執行個體

    使用共用儲存多執行個體的過程中,需要注意如下事項。

    • 配置完成後,可以用唯讀從執行個體的Endpoint提供線上服務。

    • 所有的操作,包括建表、使用者授權等都在主執行個體內完成,唯讀從執行個體只能讀取資料。

    • 唯讀從執行個體會自動擁有主執行個體內的所有對象,包括使用者、表等,在許可權控制層,不能為唯讀從執行個體單獨建立使用者。