다음을 통해 공유


유연한 노드 유형을 사용하여 컴퓨팅 시작 안정성 향상

Azure Databricks의 클래식 컴퓨팅 리소스는 유연한 노드 형식을 사용하므로 지정된 인스턴스 유형을 사용할 수 없는 경우 컴퓨팅 리소스가 호환되는 대체 인스턴스 형식으로 대체될 수 있습니다.

이 동작은 컴퓨팅을 실행하는 동안 용량 오류(스톡아웃 오류)를 줄여 컴퓨팅 시작 안정성을 향상시킵니다. 대체(fallback)가 있는 스폿 인스턴스의 경우 유연한 노드 형식은 주문형 인스턴스로 되돌리기 전에 여러 인스턴스 유형에서 인스턴스를 여러 번 획득하려고 시도할 수 있습니다. 이로 인해 주문형이 아닌 스폿으로 실행되는 인스턴스의 비율이 높아져 총 컴퓨팅 비용이 줄어듭니다.

유연한 노드 형식의 작동 방식

컴퓨팅 리소스를 시작할 때 클라우드 공급자가 지정된 인스턴스 유형에 대한 용량이 부족할 수 있습니다. 이로 인해 스톡아웃 오류가 발생합니다.

CLOUD_PROVIDER_RESOURCE_STOCKOUT

이러한 오류는 스폿 인스턴스에 더 일반적이지만 주문형 인스턴스에서도 발생할 수 있습니다.

유연한 노드 형식을 사용하도록 설정하면 Azure Databricks는 지정된 대체 목록과 호환되는 인스턴스 유형을 자동으로 생성하거나 사용합니다. 기본 설정 인스턴스 유형을 사용할 수 없는 경우 Azure Databricks는 즉시 실패하는 대신 이러한 백업 인스턴스 유형을 획득하려고 시도합니다.

작업 영역에서 유연한 노드 형식 사용

작업 영역 관리자는 작업 영역 관리자 설정에서 유연한 노드 유형을 사용하도록 설정할 수 있습니다. 사용하도록 설정하면 명시적으로 사용하지 않도록 설정하지 않는 한 작업 영역의 모든 새 클래식 컴퓨팅 리소스는 유연한 노드 형식을 사용합니다.

  1. 작업 영역 관리자로 설정 페이지이동합니다.
  2. 컴퓨팅 탭을 클릭합니다.
  3. 자동 유연한 노드 형식 설정을 토글하십시오.
    • 사용: 명시적으로 사용하지 않도록 설정하지 않는 한 모든 새 클래식 컴퓨팅 리소스는 유연한 노드 형식을 자동으로 사용합니다.
    • 사용 안 함: 클래식 컴퓨팅 리소스는 컴퓨팅 리소스 구성에서 명시적으로 구성하는 node_type_flexibility 경우에만 유연한 노드 형식을 사용합니다.

이 작업 영역 전체 설정은 기존 컴퓨팅 리소스에 영향을 주지 않습니다. 설정이 비활성화되면, 사용자는 worker_node_type_flexibility 또는 driver_node_type_flexibility 필드를 명시적으로 구성하여 사용자 지정 대체 목록을 포함한 개별 컴퓨팅 리소스의 유연한 노드 유형을 구성할 수 있습니다. 사용자가 이러한 필드를 구성하지 못하도록 작업 영역 관리자는 컴퓨팅 정책을 사용할 수 있습니다. 유연한 노드 유형 정책 예제를 참조하세요.

사용자 지정 대체 목록 지정

작업 영역에서 유연한 노드 형식을 사용하도록 설정하면 Azure Databricks는 새 컴퓨팅 리소스에 대해 호환되는 인스턴스 유형의 대체 목록을 자동으로 생성합니다.

자동으로 생성된 대체 목록을 사용하지 않으려면 대신 사용자 고유의 대체 목록을 지정할 수 있습니다. 또한 작업 영역에서 유연한 노드 유형을 사용하지 않도록 설정한 경우에도 컴퓨팅 리소스에 대한 사용자 지정 대체 목록을 지정할 수 있습니다. 특정 인스턴스 형식만 호환됩니다. 대체 인스턴스 유형 요구 사항을 참조하세요. 호환되는 인스턴스 형식에 대한 참조는 유연한 노드 형식 호환성 참조를 참조하세요.

사용자 지정 대체 목록은 API를 사용하여 컴퓨팅을 구성할 때만 지원됩니다. 클러스터 API 참조 설명서를 참조하세요.

예를 들어 다음 구성은 필요한 경우 컴퓨팅 리소스가 대체될 인스턴스 유형을 지정합니다.


  "worker_node_type_flexibility": {
    "alternate_node_type_ids": [
      "Standard_L8s_v2"
    ]
  },
  "driver_node_type_flexibility": {
    "alternate_node_type_ids": [
      "Standard_L8s_v2"
    ]
  },

대체 인스턴스 유형 요구 사항

대체 인스턴스 형식은 컴퓨팅의 기본 설정 인스턴스 형식과 호환되어야 합니다. 대체 인스턴스 형식 목록은 다음 요구 사항을 충족해야 합니다.

  • 기본 설정 인스턴스 유형과 동일한 vCPU 수 및 메모리, 대체 인스턴스는 기본 인스턴스 유형 메모리의 100%에서 110% 사이여야 합니다.
  • 기본 설정 인스턴스 유형과 동일한 수의 로컬 디스크 및 디스크 크기
  • 기본 설정 인스턴스 유형과 동일한 CPU 아키텍처(모든 ARM 또는 모든 x86)
  • 기본 설정 인스턴스 유형과 동일한 OS 이미지 및 Photon 지원
  • GPU 인스턴스 유형 없음(GPU는 지원되지 않음)
  • 최대 5가지 고유한 대체 인스턴스 유형
  • 모든 인스턴스 유형은 일관된 스토리지 지원이 필요합니다. 즉, 모든 인스턴스가 PREMIUM_LRS 스토리지를 지원하거나 아무 인스턴스도 이를 지원하지 않아야 합니다.

풀에서 유연한 노드 형식 사용

풀에 대한 대체 목록을 사용자 지정할 수도 있습니다. 풀 API에서 대체 인스턴스 유형을 지정하도록 필드를 설정합니다node_type_flexibility. 다음은 그 예입니다.

"node_type_flexibility": {
    "alternate_node_type_ids": ["Standard_L8s_v2"]
  }

풀은 최소 유휴 수를 유지하기 위해 유연한 인스턴스 형식을 사용하는 것을 지원하지 않습니다. 풀에서 컴퓨팅 시작을 시도할 때만 대체 인스턴스 유형을 사용하여 VM을 시작할 수 있습니다. minIdle 카운트를 사전 로드할 때는 선호하는 인스턴스 유형만 사용됩니다.

획득한 인스턴스 유형 보기

유연한 노드 형식을 사용하는 경우 컴퓨팅 리소스는 여러 인스턴스 유형의 혼합으로 구성됩니다. 모든 대체 인스턴스 유형은 기본 설정 형식과 호환되며 워크로드가 올바르게 실행되도록 동일한 vCPU 수, 메모리, 디스크 레이아웃, CPU 아키텍처 및 OS 이미지를 유지 관리합니다.

컴퓨팅 리소스에 대해 획득한 인스턴스 유형을 볼 수 있습니다.

  1. 컴퓨팅 세부 정보 페이지에서 종료 단추 옆에 있는 세 개의 점을 클릭하고 JSON 보기를 선택합니다.
  2. node_type_id 각 실행기 필드를 검토하여 실행 중인 인스턴스 유형을 확인합니다.

클러스터 정보 가져오기 API를 사용하여 프로그래밍 방식으로 이 정보를 검색할 수도 있습니다. 또한 시스템 테이블에 대한 액세스 권한이 있는 사용자는 node_timelines 테이블을 쿼리할 수 있습니다. 노드 타임라인 테이블 스키마 참조하세요.

컴퓨팅 리소스에서 유연한 노드 형식 사용 안 함

비고

Databricks는 특정 인스턴스 형식에 대한 엄격한 요구 사항이 없는 한 유연한 노드 형식을 사용하도록 유지하는 것이 좋습니다.

대체 인스턴스 유형으로 대체하지 않고 컴퓨팅 시작이 실패하도록 하려면 개별 컴퓨팅 리소스 수준에서 유연한 노드 동작을 사용하지 않도록 설정할 수 있습니다. 클러스터 API를 사용하는 경우에만 지원됩니다. 유연한 노드 형식을 사용하지 않도록 설정하려면 컴퓨팅 구성에서 유연한 노드 형식 필드를 빈 상태로 설정합니다. 다음은 그 예입니다.

"worker_node_type_flexibility": {
  "alternate_node_type_ids": []
},
"driver_node_type_flexibility": {
  "alternate_node_type_ids": []
}