如何調整 Amazon Redshift 叢集的大小?
我想調整 Amazon Redshift 叢集的大小,並且想知道調整大小對效能和計費有何影響。
簡短描述
若要調整叢集大小,請使用彈性調整大小或傳統調整大小。如果您的叢集符合資格,最佳實務是使用彈性調整大小。如果您的叢集不符合資格,請使用傳統調整大小。
解決方法
確定您的叢集資格
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
若要確認您的叢集是否符合彈性調整大小的資格,請執行 describe-node-configuration-options AWS CLI 命令:
aws redshift describe-node-configuration-options --cluster-identifier example-cluster-id --action-type resize-cluster
**注意:**將 example-cluster-id 替換為您的叢集 ID。
如果叢集符合彈性調整大小的資格,則輸出結果會類似以下內容:
{ "NodeConfigurationOptionList": [ { "NodeType": "dc2.large", "NumberOfNodes": 2, "EstimatedDiskUtilizationPercent": 0.01 }, { "NodeType": "ra3.16xlarge", "NumberOfNodes": 2, "EstimatedDiskUtilizationPercent": 0.01 } ] }
如果叢集不符合彈性調整大小的資格,則輸出結果類似以下內容:
{ "NodeConfigurationOptionList": [] }
減少作業時間
當您對具有相同節點類型的叢集使用彈性調整大小時,該作業不會建立新叢集,並會快速完成。
使用傳統調整大小時,作業時間取決於以下因素:
- 來源叢集上的工作負載。
- 從來源叢集傳輸到目標叢集的資料表數量和大小。
- 資料在計算節點和切片之間的分佈。
- 來源叢集和目標叢集中的節點組態。
若要減少傳統調整大小的持續時間,請執行以下動作:
- 遷移到 RA3 節點類型。
- 識別並修正分佈不均的資料表。若要識別分佈不均的資料表,請執行 AWS Labs 資料表檢查器指令碼。如需詳細資訊,請參閱 GitHub 網站上的 table_inspector。若要修正分佈不均的資料表,請選擇適當的分佈索引鍵。
- 移除未使用的資料表。若要識別未使用的資料表,請執行 AWS Labs 未掃描資料表摘要指令碼。如需詳細資訊,請參閱 GitHub 網站上的 unscanned_table_summary。
**注意:**未掃描的資料表摘要僅顯示過去 2-5 天的近期歷史記錄。若要擷取較長時期的使用資料,請使用系統物件持續性公用程式。如需詳細資訊,請參閱 GitHub 網站上的 SystemTablePersistence。 - 識別缺失的資料表資料。若要識別缺失的資料表資料,請使用 AWS Labs missing_table_stats 指令碼。如需詳細資訊,請參閱 GitHub 網站上的 missing_table_stats。然後,對這些資料表執行 ANALYZE 命令。
有關調整大小效能最佳化的詳細資訊,請參閱 Amazon Redshift 的 10 大效能調整技術。若要使用 Amazon Redshift 主控台檢查調整大小作業的狀態,請選擇叢集詳細資料頁面上的 Status (狀態) 索引標籤。Status (狀態) 索引標籤會顯示平均傳輸速率、已使用時間和剩餘時間。
調整叢集大小
使用彈性調整大小來變更叢集節點類型、節點數量,或兩者皆變更。
當彈性調整大小不支援叢集大小或節點變更時,請使用傳統調整大小。
對調整大小作業問題進行疑難排解
在調整大小作業期間,資料表的大小可以增加或減少。如需詳細資訊,請參閱為什麼 Amazon Redshift 已佈建叢集中的資料表佔用的磁碟儲存空間多於或少於預期?
如果您的叢集在 AWS CLI 中狀態為 NONE,則表示 Amazon Redshift 仍在佈建目標叢集。在佈建階段完成之前,您的目標叢集不會複製。在 Amazon Redshift 佈建目標叢集後,狀態將變更為 IN_PROGRESS。
如果您的 AWS CloudFormation StackSets 未調整大小,且您收到內部錯誤訊息,請檢查叢集是否符合彈性調整大小的資格。錯誤訊息類似以下內容: "An internal error has occurred.Please try your query again at a later time." (發生內部錯誤。請稍後再嘗試查詢。) 出現這種情況的原因是,CloudFormation 堆疊使用彈性調整大小,並且預設設定了 Classic:false。
如果您收到錯誤訊息 "Please choose a larger target cluster," (請選擇較大的目標叢集),則表示您的資料不適合目標叢集。使用更多節點或不同的節點類型來調整 Amazon Redshift 叢集的大小。
若要在作業完成之前取消傳統調整大小作業,請從 Amazon Redshift 主控台中的叢集清單中選擇 Cancel resize (取消調整大小)。
調整大小叢集的計費
在調整大小作業期間,AWS 會針對您可用的叢集進行計費。例如,在調整大小作業期間,AWS 會向您收取來源組態的費用。調整大小完成後,AWS 將不再針對來源組態進行計費。一旦叢集狀態變成可用,就會開始對目標組態進行計費。
當您將較小的節點類型 (例如 large 或 xlarge) 調整為較大的節點類型 (例如 8xlarge) 時,您叢集的每個節點會需要更多的儲存空間。每個節點的儲存空間越大,執行 COMMIT 作業時寫入的中繼資料就越多。因此,對於較大的節點,單一 COMMIT 作業的基本成本較高。如果您同時執行多個小型 COMMIT 作業,您可能會發現效能下降。為了提高效能,請將多個變更合併成單一的 COMMIT 作業。
如果您購買了預留執行個體,您的計費將依據調整後的叢集組態、預留節點類型和預留節點數量而定。如需詳細資訊,請參閱預留節點的運作方式。
相關資訊
對 Amazon Redshift 中的連線問題進行疑難排解
- 語言
- 中文 (繁體)

相關內容
- 已提問 4 年前
- 已提問 3 年前