문제 해결 - Amazon Keyspaces(Apache Cassandra용)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

문제 해결

데이터 업로드가 완료된 후 행을 건너뛰었는지 확인합니다. 이렇게 하려면 원본 CSV 파일의 소스 디렉터리로 이동하여 다음 이름의 파일을 검색합니다.

import_yourcsvfilename.err.timestamp.csv

cqlsh는 건너뛴 데이터 행을 해당 이름의 파일에 기록합니다. 파일이 소스 디렉터리에 있고 그 안에 데이터가 있는 경우 이 행은 Amazon Keyspaces에 업로드되지 않았습니다. 이러한 행을 다시 시도하려면 먼저 업로드 중에 발생한 오류가 있는지 확인하고 그에 따라 데이터를 조정합니다. 이러한 행을 다시 시도하려면 프로세스를 다시 실행하면 됩니다.

일반적인 오류

행이 로드되지 않는 가장 일반적인 이유는 용량 오류와 구문 분석 오류입니다.

Amazon Keyspaces에 데이터를 업로드할 때 잘못된 요청 오류

다음 예제의 소스 테이블에는 카운터 열이 포함되어 있으며 이로 인해 cqlsh COPY 명령의 배치 호출이 로그됩니다. 로그된 배치 호출은 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를 사용하여 데이터를 마이그레이션합니다. 자세한 설명은 자습서: DSBulk를 사용하여 Amazon Keyspaces에 데이터 로드 섹션을 참조하세요.

Amazon Keyspaces에 데이터를 업로드할 때 구문 분석기 오류

다음 예는 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 Keyspace는 ReadThrottledEvents Amazon에 WriteThrottleEvents 게시하고 지표를 제공합니다. CloudWatch 자세한 설명은 아마존을 통한 아마존 키스페이스 모니터링 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 문을 사용하여 단일 데이터 행을 사용해 볼 수 있습니다.

클라이언트는 자동으로 연결 재설정을 시도합니다.