故障診斷 - Amazon Keyspaces (適用於 Apache Cassandra)

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

故障診斷

資料上傳完成之後,請檢查是否已略過資料列。若要這麼做,請瀏覽至來源CSV檔案的來源目錄,然後搜尋具有下列名稱的檔案。

import_yourcsvfilename.err.timestamp.csv

cqlsh 會將任何略過的資料列寫入具有該名稱的檔案中。如果檔案存在於您的來源目錄中,且其中包含資料,則這些資料列不會上傳到 Amazon Keyspaces。若要重試這些資料列,請先檢查上載期間發生的任何錯誤,然後相應地調整資料。若要重試這些資料列,您可以重新執行程序。

常見錯誤

資料列未載入的最常見原因是容量錯誤和剖析錯誤。

將數據上傳到 Amazon Keyspaces 時發生無效的請求錯誤

在下列範例中,來源資料表包含計數器資料行,這會導致從 cql COPY sh 命令中記錄批次呼叫。Amazon Keyspaces 不支援記錄的批次呼叫。

Failed to import 10 rows: InvalidRequest - Error from server: code=2200 [Invalid query] message=“Only UNLOGGED Batches are supported at this time.“, will retry later, attempt 22 of 25

若要解決此錯誤,請DSBulk使用移轉資料。如需詳細資訊,請參閱教學課程:使用將資料載入 Amazon Keyspaces DSBulk

將資料上傳至 Amazon Keyspaces 時發生剖析器錯誤

下列範例顯示由於 a 而略過的資料列ParseError

Failed to import 1 rows: ParseError - Invalid ... –

若要解決此錯誤,您需要確定要匯入的資料與 Amazon Keyspaces 中的資料表結構描述相符。檢閱匯入檔案是否有剖析錯誤。您可以嘗試使用INSERT語句使用單行數據來隔離錯誤。

將資料上傳至 Amazon Keyspaces 時發生容量錯誤

Failed to import 1 rows: WriteTimeout - Error from server: code=1100 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 0 responses." info={'received_responses': 0, 'required_responses': 2, 'write_type': 'SIMPLE', 'consistency': 'LOCAL_QUORUM'}, will retry later, attempt 1 of 100

Amazon Keyspaces 會使用ReadTimeoutWriteTimeout例外狀況來指示寫入請求何時因輸送量容量不足而失敗。為了協助診斷容量不足的例外狀況,Amazon Keyspaces 會在 Amazon CloudWatch 中發佈WriteThrottleEventsReadThrottledEvents指標。如需詳細資訊,請參閱用 Amazon 監控 Amazon Keyspaces CloudWatch

將數據上傳到 Amazon Keyspaces 時出現 cqlsh 錯誤

若要協助疑難排解 cqlsh 錯誤,請使用旗標重新執行失敗的命令。--debug

使用不相容版本的 cqlsh 時,您會看到下列錯誤。

AttributeError: 'NoneType' object has no attribute 'is_up' Failed to import 3 rows: AttributeError - 'NoneType' object has no attribute 'is_up', given up after 1 attempts

執行下列命令,確認已安裝正確版本的 cqlsh。

cqlsh --version

您應該看到類似下面的輸出內容。

cqlsh 5.0.1

如果您使用的是 Windows,請將的所有執行個體cqlsh取代為cqlsh.bat. 例如,若要在 Windows 中檢查 cqlsh 的版本,請執行下列命令。

cqlsh.bat --version

cqlsh 用戶端從伺服器接收到任何類型的連續三個錯誤之後,與 Amazon Keyspaces 的連線會失敗。cqlsh 用戶端失敗,並顯示下列訊息。

Failed to import 1 rows: NoHostAvailable - , will retry later, attempt 3 of 100

若要解決此錯誤,您需要確定要匯入的資料與 Amazon Keyspaces 中的資料表結構描述相符。檢閱匯入檔案是否有剖析錯誤。您可以使用INSERT語句來隔離錯誤,嘗試使用單行數據。

用戶端會自動嘗試重新建立連線。