本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新 Amazon MSK 叢集的組態
若要更新叢集的配置,請確定叢集處於 ACTIVE 狀態。您還必須確保 MSK 叢集上每個代理程式的分區數量低於 正確調整叢集大小:每個標準代理程式的分割區數量 中所述的限制。您無法更新超過這些限制之叢集的組態。
如需 MSK 組態的資訊,包括如何建立自訂組態、您可以更新哪些屬性,以及更新現有叢集的組態時會發生什麼情況,請參閱 Amazon MSK 佈建組態。
組態更新期間的中介裝置可用性
Amazon MSK 會在大多數叢集組態更新期間維持高可用性。Amazon MSK 會執行滾動更新,一次更新一個代理程式。在此過程中,叢集仍然可用,但個別代理程式會在其組態更新時重新啟動。不過,某些組態變更可能需要同時更新所有代理程式,這可能會導致整個叢集短暫中斷。如需更新期間代理程式可用性影響的詳細資訊,請參閱 Amazon MSK 佈建組態。
更新生產叢集之前,建議您在非生產環境中測試組態變更,並在維護時段期間排程更新。
如果您在升級 MSK 叢集時遇到任何問題,請參閱升級 Amazon MSK 叢集時如何排除問題?
使用 更新叢集的組態 AWS CLI
-
複製以下 JSON 並將其儲存到檔案。將檔案命名為
configuration-info.json。使用您要用來更新叢集的組態 Amazon Resource Name (ARN) 來取代ConfigurationArn。ARN 字串必須在下列 JSON 的引號中。使用您要使用的組態修訂版本取代
Configuration-Revision。組態修訂版是從1開始的整數 (整數)。這個整數不能在以下 JSON 的引號中。{ "Arn":ConfigurationArn, "Revision":Configuration-Revision} -
執行下列指令,使用您在建立叢集時獲得的 ARN 取代
ClusterArn。若您沒有叢集的 ARN,可透過列出所有叢集來找到該 ARN。如需詳細資訊,請參閱列出 Amazon MSK 叢集。將
Path-to-Config-Info-File取代為組態資訊檔案的路徑。如果您為在上一個步驟中建立的檔案configuration-info.json命名,並將其儲存在目前的目錄中,則Path-to-Config-Info-File會是configuration-info.json。將叢集目前版本取代為
Current-Cluster-Version。重要
叢集版本不是簡單的整數。若要尋找叢集的目前版本,請使用 DescribeCluster 操作或 describe-cluster
AWS CLI 命令。範例版本為 KTVPDKIKX0DER。aws kafka update-cluster-configuration --cluster-arnClusterArn--configuration-info file://Path-to-Config-Info-File--current-versionCurrent-Cluster-Version以下是如何使用此命令的範例:
aws kafka update-cluster-configuration --cluster-arn "arn:aws:kafka:us-east-1:0123456789012:cluster/exampleName/abcd1234-0123-abcd-5678-1234abcd-1" --configuration-info file://c:\users\tester\msk\configuration-info.json --current-version "K1X5R6FKA87"此
update-cluster-configuration命令的輸出如以下 JSON 範例所示。{ "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef" } -
如要取得
update-cluster-configuration操作的結果,請執行下列命令,使用您在update-cluster-configuration命令輸出中取得的 ARN 取代ClusterOperationArn。aws kafka describe-cluster-operation --cluster-operation-arnClusterOperationArn此
describe-cluster-operation命令的輸出如以下 JSON 範例所示。{ "ClusterOperationInfo": { "ClientRequestId": "982168a3-939f-11e9-8a62-538df00285db", "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2", "CreationTime": "2019-06-20T21:08:57.735Z", "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef", "OperationState": "UPDATE_COMPLETE", "OperationType": "UPDATE_CLUSTER_CONFIGURATION", "SourceClusterInfo": {}, "TargetClusterInfo": { "ConfigurationInfo": { "Arn": "arn:aws:kafka:us-east-1:123456789012:configuration/ExampleConfigurationName/abcdabcd-abcd-1234-abcd-abcd123e8e8e-1", "Revision": 1 } } } }在此輸出中,
OperationType是UPDATE_CLUSTER_CONFIGURATION。如果OperationState具有值UPDATE_IN_PROGRESS,請稍候一段時間,然後再次執行describe-cluster-operation命令。
使用 API 更新 Amazon MSK 叢集的組態
若要使用 API 更新 Amazon MSK 叢集的組態,請參閱 UpdateClusterConfiguration。