AKS의 Azure HDInsight에서 Apache Flink®란? (미리 보기)
중요하다
AKS의 Azure HDInsight는 2025년 1월 31일에 사용 중지되었습니다. 이 공지 로을 자세히 알아보세요.
워크로드가 갑자기 종료되는 것을 방지하기 위해 워크로드를 Microsoft Fabric 또는 동등한 Azure 제품으로 워크로드를 마이그레이션해야 합니다.
중요하다
이 기능은 현재 미리 보기로 제공됩니다. Microsoft Azure 프리뷰에 대한 추가 사용 약관에는 베타, 프리뷰 또는 아직 일반에 공개되지 않은 Azure 기능에 적용되는 추가 법적 조건이 포함되어 있습니다. 이 특정 미리 보기에 대한 자세한 내용은 Azure HDInsight on AKS 미리 보기 정보 를 참고하십시오. 질문 또는 기능 제안은 AskHDInsight에서 요청을 제출해 주시고, 상세한 업데이트를 받으시려면 Azure HDInsight Community을 팔로우해 주세요.
Apache Flink 바인딩되지 않은 데이터 스트림에 대한 상태 저장 계산을 위한 프레임워크 및 분산 처리 엔진입니다. Flink는 모든 일반적인 클러스터 환경에서 실행되고, 메모리 내 속도 및 규모에 따라 계산 및 상태 저장 스트리밍 애플리케이션을 수행하도록 설계되었습니다. 애플리케이션은 클러스터에서 배포되고 동시에 실행되는 수천 개의 작업으로 병렬 처리됩니다. 따라서 애플리케이션은 무제한의 vCPU, 주 메모리, 디스크 및 네트워크 IO를 사용할 수 있습니다. 또한 Flink는 큰 애플리케이션 상태를 쉽게 유지 관리합니다. 비동기 및 증분 검사점 알고리즘은 정확히 한 번 상태 일관성을 보장하면서 처리 대기 시간에 미치는 영향을 최소화합니다.
Apache Flink는 스트림 처리를 위한 대규모 확장성 있는 분석 엔진입니다.
Flink에서 제공하는 주요 기능 중 일부는 다음과 같습니다.
- 바인딩된 스트림 및 바인딩되지 않은 스트림에 대한 작업
- 메모리 성능
- 스트리밍 및 일괄 처리 계산 모두에 대한 기능
- 짧은 대기 시간, 높은 처리량 작업
- 정확히 한 번 처리
- 고가용성
- 상태 및 내결함성
- Hadoop 에코시스템과 완벽하게 호환
- 스트림 및 일괄 처리 모두에 대한 통합 SQL API
Apache Flink를 사용해야 하는 이유
Apache Flink는 광범위한 기능 집합으로 인해 다양한 유형의 애플리케이션을 개발하고 실행하는 데 탁월한 선택입니다. Flink의 기능에는 스트림 및 일괄 처리, 정교한 상태 관리, 이벤트 시간 처리 의미 체계 및 정확히 한 번 상태에 대한 일관성 보장에 대한 지원이 포함됩니다. Flink에는 단일 실패 지점이 없습니다. Flink는 수천 개의 코어와 테라바이트 규모의 애플리케이션 상태로 확장되고, 높은 처리량과 짧은 대기 시간을 제공하며, 세계에서 가장 까다로운 스트림 처리 애플리케이션의 일부를 구동하는 것으로 입증되었습니다.
- 사기 감지: Flink를 사용하여 스트리밍 데이터에 복잡한 규칙 및 기계 학습 모델을 적용하여 사기성 트랜잭션 또는 활동을 실시간으로 검색할 수 있습니다.
- 변칙 검색: Flink를 사용하여 센서 판독값, 네트워크 트래픽 또는 사용자 동작과 같은 스트리밍 데이터의 이상값 또는 비정상적인 패턴을 식별할 수 있습니다.
- 규칙 기반 경고: Flink를 사용하여 온도, 압력 또는 주가와 같은 스트리밍 데이터의 미리 정의된 조건 또는 임계값에 따라 경고 또는 알림을 트리거할 수 있습니다.
- Business 프로세스 모니터링: Flink를 사용하여 주문 처리, 배달 또는 고객 서비스와 같은 비즈니스 프로세스 또는 워크플로의 상태 및 성능을 실시간으로 추적하고 분석할 수 있습니다.
- 웹 애플리케이션(소셜 네트워크): Flink를 사용하여 메시지, 좋아요, 메모 또는 권장 사항과 같은 사용자 생성 데이터를 실시간으로 처리해야 하는 웹 애플리케이션을 구동할 수 있습니다.
Apache Flink 사용 사례 설명된 일반적인 사용 사례에 대해 자세히 읽어보세요.
AKS의 HDInsight에 있는 Apache Flink 클러스터는 완전히 관리되는 서비스입니다. AKS의 HDInsight에서 Flink 클러스터를 만들 때의 이점은 다음과 같습니다.
특징 | 묘사 |
---|---|
쉽게 만들 수 있습니다. | Azure Portal, Azure PowerShell 또는 SDK를 사용하여 HDInsight에서 몇 분 안에 새 Flink 클러스터를 만들 수 있습니다. AKS에서 HDInsight를 통해 Apache Flink 클러스터 시작하기 를 참조하세요. |
사용 편의성 | AKS의 HDInsight에 있는 Flink 클러스터에는 포털 기반 구성 관리 및 크기 조정이 포함됩니다. 작업 관리 API와 함께 이 외에도 작업 관리에 REST API 또는 Azure Portal을 사용합니다. |
REST API | AKS의 HDInsight의 Flink 클러스터에는 Azure Portal에서 작업을 원격으로 제출하고 모니터링하는 REST API 기반 Flink 작업 제출 방법인 작업 관리 API포함됩니다. |
배포 유형 | Flink는 세션 모드 또는 애플리케이션 모드에서 애플리케이션을 실행할 수 있습니다. 현재 AKS의 HDInsight는 세션 클러스터만 지원합니다. 세션 클러스터에서 여러 Flink 작업을 실행할 수 있습니다. 앱 모드가 AKS 클러스터의 HDInsight 로드맵에 있습니다. |
Metastore 지원 | Flink 클러스터는 AKS의 HDInsight에서 Azure Data Lake Storage Gen2에 대한 원격 검사점과 다양한 오픈 파일 형식을 지원하며, Hive Metastore 카탈로그를 사용할 수 있습니다. |
Azure Storage 지원 | HDInsight의 Flink 클러스터는 Azure Data Lake Storage Gen2를 파일 싱크로 사용할 수 있습니다. Data Lake Storage Gen2에 대한 자세한 내용은 Azure Data Lake Storage Gen2 참조하세요. |
Azure 서비스와 통합 | AKS의 HDInsight의 Flink 클러스터는 Azure Event Hubs 및 Azure HDInsight함께 Kafka에 통합됩니다. Event Hubs 또는 HDInsight를 사용하여 스트리밍 애플리케이션을 빌드할 수 있습니다. |
적응성 | AKS의 HDInsight를 사용하면 자동 크기 조정 기능을 사용하여 일정에 따라 Flink 클러스터 노드의 크기를 조정할 수 있습니다. AKS 클러스터에서 Azure HDInsight의 크기를 자동으로 조정하는 것을 참조하세요. |
상태 백엔드 | AKS의 HDInsight는 RocksDB 기본 StateBackend로 사용합니다. RocksDB는 빠른 스토리지를 위한 포함 가능한 영구 키-값 저장소입니다. |
검사점 | 체크포인팅은 AKS 클러스터의 HDInsight에서 기본적으로 활성화됩니다. AKS의 HDInsight에 대한 기본 설정은 영구 스토리지의 마지막 5개 검사점을 유지 관리합니다. 작업이 실패하는 경우 최신 검사점에서 작업을 다시 시작할 수 있습니다. |
증분 검사점 | RocksDB는 점진적 체크포인트를 지원합니다. 큰 상태에 대해 증분 검사점을 사용하는 것이 좋습니다. 이 기능을 수동으로 사용하도록 설정해야 합니다. 애플리케이션이 코드에서 이 설정을 재정의하지 않는 한 flink-conf.yaml: state.backend.incremental: true 기본값을 설정하면 증분 검사점을 사용할 수 있습니다. 이 문장은 기본적으로 참입니다. 또는 코드에서 직접 이 값을 구성할 수 있습니다(구성 기본값 재정의) EmbeddedRocksDBStateBackend` backend = new `EmbeddedRocksDBStateBackend(true); . 기본적으로 구성된 검사점 dir에서 마지막 5개의 검사점을 유지합니다. 이 값은 구성 관리 섹션 state.checkpoints.num-retained: 5 구성을 변경하여 변경할 수 있습니다. |
AKS의 HDInsight에 있는 Apache Flink 클러스터에는 다음과 같은 구성 요소가 포함되며 기본적으로 클러스터에서 사용할 수 있습니다.
로드맵에서 곧 다가올 내용을 확인해 보세요.
Apache Flink 작업 관리
Flink는 Leader-Follower 패턴으로 설정된 세 개의 분산 구성 요소인 작업 관리자, 작업 관리자 및 작업 클라이언트를 사용하여 작업을 예약합니다.
Flink 작업: Flink 작업 또는 프로그램은 여러 작업으로 구성됩니다. 작업은 Flink의 기본 실행 단위입니다. 각 Flink 태스크에는 병렬 처리 수준에 따라 여러 인스턴스가 있으며 각 인스턴스는 TaskManager에서 실행됩니다.
작업 관리자: 작업 관리자는 스케줄러 역할을 하며 작업 관리자에서 작업을 예약합니다.
작업 관리자: 작업 관리자는 태스크를 병렬로 실행하는 하나 이상의 슬롯을 제공합니다.
작업 클라이언트: 작업 클라이언트가 작업 관리자와 통신하여 Flink 작업을 제출합니다.
Flink Web UI: Flink는 실행 중인 애플리케이션을 검사, 모니터링 및 디버그하는 웹 UI를 제공합니다.
참조
- Apache Flink 웹 사이트
- Apache, Apache Kafka, Kafka, Apache Flink, Flink 및 관련 오픈 소스 프로젝트 이름은 Apache Software Foundation(ASF)의 상표입니다.