Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
애플리케이션 문제
이 섹션에는 Managed Service for Apache Flink 애플리케이션에서 발생할 수 있는 오류 조건에 대한 솔루션이 포함되어 있습니다.
주제
애플리케이션이 일시적 상태에서 멈췄습니다.
애플리케이션이 일시적 상태 (STARTING
, UPDATING
STOPPING
, 또는AUTOSCALING
) 에 있는 경우 Force
매개변수가 로 설정된 StopApplication액션을 사용하여 애플리케이션을 중지할 수 있습니다. true
DELETING
상태에서는 애플리케이션을 강제로 중지할 수 없습니다. 또는 애플리케이션이 UPDATING
또는 AUTOSCALING
상태인 경우 이전 실행 버전으로 회귀할 수 있습니다. 애플리케이션을 회귀시키면 마지막으로 성공한 스냅샷의 상태 데이터가 로드됩니다. 애플리케이션에 스냅샷이 없는 경우 Managed Service for Apache Flink는 회귀 요청을 거부합니다. 애플리케이션 롤백에 대한 자세한 내용은 RollbackApplication액션을 참조하십시오.
참고
애플리케이션을 강제로 중지하면 데이터가 손실되거나 중복될 수 있습니다. 애플리케이션 재시작 시 데이터 손실이나 데이터 중복 처리를 방지하려면 애플리케이션의 스냅샷을 자주 생성하는 것이 좋습니다.
애플리케이션이 정체되는 사유에는 다음이 포함됩니다.
-
애플리케이션 상태가 너무 큼: 애플리케이션 상태가 너무 크거나 너무 지속적이면 체크포인트 또는 스냅샷 작업 중에 애플리케이션이 정체될 수 있습니다. 애플리케이션의 지표
lastCheckpointDuration
및lastCheckpointSize
의 값이 꾸준히 증가하거나 비정상적으로 높은지 확인하십시오. -
응용 프로그램 코드가 너무 큽니다. 응용 프로그램 JAR 파일이 512MB보다 작은지 확인하십시오. JAR512MB보다 큰 파일은 지원되지 않습니다.
-
애플리케이션 스냅샷 생성 실패: Managed Service for Apache Flink는
UpdateApplication
또는StopApplication
요청 중에 애플리케이션의 스냅샷을 찍습니다. 그런 다음 이 서비스는 이 스냅샷 상태를 사용하고 업데이트된 애플리케이션 구성을 사용하여 애플리케이션을 복원하여 정확히 1회에 한하여 시맨틱의 처리를 제공합니다. 자동 스냅샷 생성이 실패할 경우, 다음의 스냅샷 생성 실패을 참조하십시오. -
스냅샷 실패로부터 복구: 애플리케이션 업데이트에서 연산자를 제거하거나 변경한 후 스냅샷에서 복구하려고 시도하면 스냅샷에 누락된 연산자에 대한 상태 데이터가 포함되어 있으면 기본적으로 복구가 실패합니다. 또한 이 애플리케이션은
STOPPED
또는UPDATING
상태 중 하나로 고정됩니다. 이 동작을 변경하고 복원에 성공하려면 응용 프로그램의 AllowNonRestoredState매개 변수를 FlinkRunConfiguration로true
변경하십시오. 이렇게 하면 새 프로그램에 매핑할 수 없는 상태 데이터를 재개 작업에서 건너뛰도록 할 수 있습니다. -
애플리케이션 초기화 시간이 더 오래 걸림: Managed Service for Apache Flink는 Flink 작업이 시작되기를 기다리는 동안 내부 제한 시간 5분(소프트 설정)을 사용합니다. 이 제한 시간 내에 작업을 시작하지 못하면 다음과 같은 CloudWatch 로그가 표시됩니다.
Flink job did not start within a total timeout of 5 minutes for application: %s under account: %s
위와 같은 오류가 발생하면 Flink 작업의
main
메서드에 정의된 작업이 5분 이상 걸리고, 이로 인해 Managed Service for Apache Flink 끝에서 Flink 작업 생성 시간이 초과되었음을 의미합니다. Flink JobManager로그와 애플리케이션 코드를 확인하여main
메서드에서 이러한 지연이 예상되는지 확인하는 것이 좋습니다. 그렇지 않은 경우 5분 이내에 완료되도록 문제를 해결하기 위한 조치를 취해야 합니다.
ListApplications
또는 DescribeApplication
조치를 사용하여 귀하의 신청 상태를 확인할 수 있습니다.
스냅샷 생성 실패
Managed Service for Apache Flink는 다음과 같은 상황에서는 스냅샷을 찍을 수 없습니다:
애플리케이션이 스냅샷 한도를 초과했습니다. 스냅샷 한도는 1,000입니다. 자세한 내용은 스냅샷을 사용하여 애플리케이션 백업을 관리합니다. 단원을 참조하십시오.
애플리케이션에는 소스 또는 싱크에 액세스할 수 있는 권한이 없습니다.
애플리케이션 코드가 제대로 작동하지 않습니다.
애플리케이션에 다른 구성 문제가 발생했습니다.
애플리케이션 업데이트 중에 스냅샷을 찍는 동안 또는 애플리케이션을 중지하는 중에 예외가 발생하는 경우 애플리케이션의 ApplicationSnapshotConfiguration
의 SnapshotsEnabled
속성을 false
로 설정하고 요청을 재시도하십시오.
애플리케이션 연산자가 제대로 프로비저닝되지 않은 경우 스냅샷이 실패할 수 있습니다. 연산자 성능 조정에 대한 자세한 설명은 연산자 스케일링을 참조하십시오.
애플리케이션이 정상 상태로 돌아오면 애플리케이션 SnapshotsEnabled
속성을 true
로 설정하는 것이 좋습니다.
의 리소스에 액세스할 수 없습니다. VPC
애플리케이션이 VPC Amazon에서 VPC 실행되는 애플리케이션을 사용하는 경우 다음을 수행하여 애플리케이션이 해당 리소스에 액세스할 수 있는지 확인하십시오.
-
CloudWatch 로그에서 다음 오류를 확인하십시오. 이 오류는 애플리케이션이 내 리소스에 액세스할 수 없음을 나타냅니다VPC.
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
이 오류가 표시되면 경로 표가 올바르게 설정되어 있고 커넥터에 올바른 연결 설정이 있는지 확인하십시오.
CloudWatch 로그 설정 및 분석에 대한 자세한 내용은 을 참조하십시오아파치 플링크용 Amazon 매니지드 서비스의 로깅 및 모니터링.
Amazon S3 버킷에 쓸 때 데이터가 손실됩니다.
Apache Flink 버전 1.6.2를 사용하여 Amazon S3 버킷에 출력을 쓸 때 일부 데이터 손실이 발생할 수 있습니다. Amazon S3를 사용하여 직접 출력할 때는 지원되는 최신 버전의 Apache Flink를 사용하는 것이 좋습니다. 아파치 플링크 1.6.2를 사용하여 Amazon S3 버킷에 쓰려면 Firehose를 사용하는 것이 좋습니다. Apache Flink용 관리형 서비스와 함께 Firehose를 사용하는 방법에 대한 자세한 내용은 을 참조하십시오. Firehose 싱크
애플리케이션이 RUNNING 상태에 있지만 데이터를 처리하고 있지 않습니다.
ListApplications
또는 DescribeApplication
작업을 사용하여 애플리케이션 상태를 확인할 수 있습니다. 애플리케이션이 RUNNING
상태에 들어가지만 싱크에 데이터를 쓰지 않는 경우 Amazon CloudWatch 로그 스트림을 애플리케이션에 추가하여 문제를 해결할 수 있습니다. 자세한 내용은 애플리케이션 CloudWatch 로깅 옵션 작업 단원을 참조하십시오. 로그 스트림에는 애플리케이션 문제를 해결하는 데 사용할 수 있는 메시지가 포함됩니다.
스냅샷, 애플리케이션 업데이트 또는 애플리케이션 중지 오류: InvalidApplicationConfigurationException
스냅샷 작업 중에 또는 스냅샷을 생성하는 작업 (예: 애플리케이션 업데이트 또는 중지) 중에 다음과 유사한 오류가 발생할 수 있습니다.
An error occurred (InvalidApplicationConfigurationException) when calling the UpdateApplication operation: Failed to take snapshot for the application xxxx at this moment. The application is currently experiencing downtime. Please check the application's CloudWatch metrics or CloudWatch logs for any possible errors and retry the request. You can also retry the request after disabling the snapshots in the Managed Service for Apache Flink console or by updating the ApplicationSnapshotConfiguration through the AWS SDK
이 오류는 애플리케이션에서 스냅샷을 생성할 수 없을 때 발생합니다.
스냅샷 작업 또는 스냅샷을 생성하는 작업 중에 이 오류가 발생하는 경우 다음을 수행하십시오.
-
애플리케이션의 스냅샷을 비활성화하십시오. Apache Flink용 관리 서비스 콘솔에서 또는 작업의
SnapshotsEnabledUpdate
매개 변수를 사용하여 이 작업을 수행할 수 있습니다. UpdateApplication -
스냅샷을 생성할 수 없는 이유를 조사하세요. 자세한 설명은 애플리케이션이 일시적 상태에서 멈췄습니다. 섹션을 참조하세요.
-
애플리케이션이 정상 상태로 돌아오면 스냅샷을 다시 활성화하십시오.
java.nio.file. NoSuchFileException: /usr/local/openjdk-8/lib/보안/cacerts
이전 배포에서 신뢰 저장소의 위치가 업데이트되었습니다. SSL ssl.truststore.location
파라미터에 대해 다음 값을 대신 사용하세요.
/usr/lib/jvm/java-11-amazon-corretto/lib/security/cacerts