Share via


HDInsight on AKS에서 Apache Flink® 구성 관리

Important

이 기능은 현지 미리 보기로 제공됩니다. Microsoft Azure 미리 보기에 대한 보충 사용 약관에는 베타 또는 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 더 많은 약관이 포함되어 있습니다. 이 특정 미리 보기에 대한 자세한 내용은 Azure HDInsight on AKS 미리 보기 정보를 참조하세요. 질문이나 기능 제안이 있는 경우 세부 정보와 함께 AskHDInsight에 요청을 제출하고 Azure HDInsight 커뮤니티에서 추가 업데이트를 보려면 팔로우하세요.

HDInsight on AKS는 대부분의 속성에 대해 Apache Flink의 기본 구성 집합을 제공하고 일반적인 애플리케이션 프로필을 기반으로 하는 몇 가지 구성을 제공합니다. 그러나 상태 사용량, 병렬 처리 또는 메모리 설정이 있는 특정 애플리케이션의 성능을 향상시키기 위해 Flink 구성 속성을 조정해야 하는 경우 AKS 클러스터의 HDInsight에서 Flink 작업 섹션을 사용하여 Flink 작업 구성을 변경할 수 있습니다.

  1. 설정으로 이동하여 > Flink 작업 > 업데이트를 클릭합니다.

    업데이트 페이지를 보여 주는 스크린샷.

  2. + 행 추가를 클릭하여 구성을 편집합니다.

    업데이트 작업 스크린샷.

    여기서 검사점 간격은 클러스터 수준에서 변경됩니다.

  3. 확인을 클릭한 다음 저장을 클릭하여 변경 내용을 업데이트합니다.

  4. 저장되면 새 구성이 몇 분(~5분) 후에 업데이트됩니다.

  5. 구성 관리 설정을 사용하여 업데이트할 수 있는 구성입니다.

    processMemory size:

  6. 작업(job) 관리자 및 작업(task) 관리자의 프로세스 메모리 크기에 대한 기본 설정은 클러스터를 만드는 동안 사용자가 구성한 메모리일 수 있습니다.

  7. 이 크기는 아래 구성 속성을 사용하여 구성할 수 있습니다. 작업 관리자 프로세스 메모리를 변경하려면 이 구성을 사용합니다.

    taskmanager.memory.process.size : <value>

    예: taskmanager.memory.process.size : 2000mb

  8. 작업 관리자의 경우

    jobmanager.memory.process.size : <value>

    참고 항목

    구성 가능한 최대 프로세스 메모리는 jobmanager/taskmanager에 대해 구성된 메모리와 동일합니다.

검사점 간격

검사점 간격에 따라 Flink가 검사점을 트리거하는 빈도가 결정됩니다. 밀리초 단위로 정의되며 다음 구성 속성을 사용하여 설정할 수 있습니다.

execution.checkpoint.interval: <value>

기본 설정은 60,000밀리초(1분)이며, 이 값은 원하는 대로 변경할 수 있습니다.

상태 백 엔드

상태 백 엔드는 Flink가 애플리케이션의 상태를 관리하고 유지하는 방법을 결정합니다. 검사점이 저장되는 방식에 영향을 줍니다. 다음 속성을 사용하여 '상태 백 엔드'를 구성할 수 있습니다.

state.backend: <value>

기본적으로 HDInsight on AKS의 Apache Flink 클러스터는 Rocks DB를 사용합니다.

검사점 스토리지 경로

사용자가 구성한 대로 abfs 스토리지에 검사점을 저장하여 기본적으로 영구적 검사점을 허용합니다. 작업이 실패하더라도 검사점이 유지되므로 최신 검사점으로 쉽게 시작할 수 있습니다.

state.checkpoints.dir: <path>(은)는 <path>(을)를 검사점을 저장하려는 경로로 바꿉니다.

기본적으로 사용자가 구성한 ABFS(스토리지 계정)에 저장됩니다. Flink Pod에서 액세스할 수 있는 한 이 값은 원하는 경로로 변경할 수 있습니다.

최대 동시 검사점 수

checkpoint.max-concurrent-checkpoints: <value> 속성을 설정하여 최대 동시 검사점 수를 제한할 수 있습니다.

<value>를 원하는 최대 동시 검사점 수로 바꿉니다. 예를 들어 한 번에 하나의 검사점만 허용하려면 1을 입력합니다.

보존할 최대 검사점 수

다음 속성을 설정하여 보존할 최대 검사점 수를 제한할 수 있습니다. state.checkpoints.num-retained: <value><value>를 제한하려는 최대 수로 바꿉니다. 기본적으로 검사점은 최대 5개까지 보존합니다.

저장점 스토리지 경로

(사용자가 구성한 대로) 저장점을 abfs 스토리지에 저장하여 기본적으로 영구 저장점을 허용합니다. 사용자가 특정 저장점에서 작업을 중지하고 나중에 해당 저장점에서 시작하려는 경우 이 위치를 구성할 수 있습니다. state.checkpoints.dir: <path>(은)는 <path>(을)를 저장점이 저장된 원하는 경로로 바꿉니다. 기본적으로 사용자가 구성한 스토리지 계정에 저장됩니다. ABFS가 지원됩니다. Flink Pod에서 액세스할 수 있는 한 이 값은 원하는 경로로 변경할 수 있습니다.

작업 관리자의 고가용성

HDInsight on AKS에서 Flink는 Kubernetes를 백 엔드로 사용합니다. 알려진 문제/알 수 없는 이슈로 인해 작업 관리자가 실패하더라도 몇 초 내에 Pod가 다시 시작됩니다. 따라서 이러한 이슈로 인해 작업이 다시 시작되더라도 작업은 최신 검사점 에서 다시 복구됩니다.

FAQ

그 사이에 작업이 실패하는 이유는 무엇인가요? 작업이 갑자기 실패하더라도 검사점이 지속적으로 발생하는 경우 작업은 기본적으로 최신 검사점에서 다시 시작됩니다.

중간에 작업 전략을 변경해야 합니까? 몇 가지 작업 수준 버그로 인해 프로덕션 환경에서 작업을 수정해야 하는 사용 사례가 있습니다. 이때 사용자는 작업을 중지할 수 있습니다. 그러면 자동으로 저장점을 가져와 작업이 저장점 위치에 저장됩니다.

  1. savepoint(을)를 클릭하고 savepoint(이)가 완료될 때까지 기다립니다.

    저장 지점 옵션을 보여 주는 스크린샷.

  2. 저장점이 완료되면 시작을 클릭하면 작업 시작 탭이 나타납니다. 드롭다운에서 저장점 이름을 선택합니다. 필요한 경우 구성을 편집합니다. 확인을 클릭합니다.

    작업을 시작하는 방법을 보여 주는 스크린샷.

작업에 저장점이 제공되므로 Flink는 데이터 처리를 시작할 위치를 압니다.

참조