Delen via


Betrouwbaarheid van het starten van rekenprocessen verbeteren met flexibele knooppunttypen

Klassieke rekenresources in Azure Databricks maken gebruik van flexibele knooppunttypen, waardoor uw rekenresource kan terugvallen op alternatieve, compatibele exemplaartypen wanneer het opgegeven exemplaartype niet beschikbaar is.

Dit gedrag verbetert de betrouwbaarheid van het starten van berekeningen door capaciteitsfouten (stockoutfouten) tijdens het starten van rekenprocessen te verminderen. Voor spot-instanties met terugval kunnen flexibele nodetypen meerdere keren proberen instanties te verkrijgen door verschillende instantietypen heen voordat ze terugvallen op on-demand instanties. Dit resulteert in een hoger percentage exemplaren dat als spot wordt uitgevoerd in plaats van on-demand, waardoor de totale rekenkosten worden verlaagd.

Hoe flexibele knooppunttypen werken

Wanneer u een rekenresource start, heeft uw cloudprovider soms onvoldoende capaciteit voor het opgegeven exemplaartype. Dit resulteert in een voorraadfout:

CLOUD_PROVIDER_RESOURCE_STOCKOUT

Hoewel deze fouten vaker voorkomen voor spot-exemplaren, kunnen ze ook optreden voor on-demand exemplaren.

Als flexibele knooppunttypen zijn ingeschakeld, genereert of gebruikt Azure Databricks automatisch uw opgegeven terugvallijst met compatibele instance types. Als het type exemplaar van uw voorkeur niet beschikbaar is, probeert Azure Databricks deze typen back-upexemplaren te verkrijgen in plaats van onmiddellijk te mislukken.

Flexibele knooppunttypen inschakelen in uw werkruimte

Werkruimtebeheerders kunnen flexibele knooppunttypen inschakelen in hun werkruimtebeheerdersinstellingen. Wanneer deze optie is ingeschakeld, vallen alle nieuwe klassieke rekenresources automatisch terug op alternatieve knooppunttypen. Dit heeft geen invloed op bestaande rekenresources voor alle doeleinden. Zie Hoe worden bestaande workloads beïnvloed?

Flexibele knooppunttypen inschakelen in een werkruimte:

  1. Als werkruimtebeheerder gaat u naar de instellingenpagina.
  2. Klik op het tabblad Compute .
  3. Schakel de instelling Automatisch flexibele knooppunttypen inschakelen in:
    • Ingeschakeld: Alle nieuwe klassieke rekenresources gebruiken automatisch flexibele knooppunttypen, tenzij deze expliciet zijn uitgeschakeld.
    • Uitgeschakeld: klassieke rekenresources gebruiken alleen flexibele knooppunttypen als u expliciet configureert node_type_flexibility in de configuratie van de rekenresource.

Als deze instelling is uitgeschakeld, kunnen gebruikers nog steeds flexibele knooppunttypen configureren voor afzonderlijke rekenresources door de worker_node_type_flexibility of driver_node_type_flexibility velden expliciet te configureren met aangepaste terugvallijsten. Om te voorkomen dat gebruikers deze velden configureren, kunnen werkruimtebeheerders rekenbeleid gebruiken. Zie voorbeelden van beleid voor flexibele knooppunttypen.

Een aangepaste terugvallijst opgeven

Wanneer flexibele knooppunttypen zijn ingeschakeld in uw werkruimte, genereert Azure Databricks automatisch een terugvallijst met compatibele exemplaartypen voor nieuwe rekenresources.

Als u de automatisch gegenereerde terugvallijst niet wilt gebruiken, kunt u in plaats daarvan uw eigen terugvallijst opgeven. Als flexibele knooppunttypen zijn uitgeschakeld in uw werkruimte, kunt u nog steeds een aangepaste terugvallijst opgeven voor uw rekenresource. Alleen bepaalde exemplaartypen zijn compatibel. Zie vereisten voor het fallback-instantietype. Zie de compatibiliteitsreferentie voor flexibele knooppunttypen voor een verwijzing naar compatibele exemplaartypen.

Aangepaste terugvallijsten worden alleen ondersteund bij het configureren van rekenkracht met behulp van de API. Raadpleeg de referentiedocumentatie voor clusters-API's .

Met de volgende configuratie geeft u bijvoorbeeld op welk exemplaartype de rekenresource terugvalt, indien nodig:


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

Vereisten voor terugvalinstantie type

Reserve-instantietypen moeten compatibel zijn met het voorkeursinstantietype van de berekening. Uw lijst met de typen terugvalinstanties moet voldoen aan de volgende vereisten:

  • Hetzelfde aantal vCPU's en geheugen als het voorkeursexemplarentype (terugvalexemplaren moeten tussen 100% en 110% van het geheugen van het voorkeursexemplaren hebben)
  • Hetzelfde aantal lokale schijven en schijfgrootte als het voorkeursexemplarentype
  • Dezelfde CPU-architectuur als het type voorkeursexemplaren (alle ARM of alle x86)
  • Dezelfde besturingssysteeminstallatiekopie en Photon-ondersteuning als het voorkeursexemplarentype
  • Geen GPU-exemplaartypen (GPU's worden niet ondersteund)
  • Maximum van 5 unieke typen terugvalexemplaren
  • Alle typen exemplaren moeten een consistente vorm van opslagondersteuning bieden: ze moeten allemaal ondersteuning bieden voor PREMIUM_LRS opslag, of geen van beide doet dat.

Flexibele knooppunttypen gebruiken met pools

U kunt ook een terugvallijst voor pools aanpassen. Stel in de Pools-API het node_type_flexibility veld in om de typen terugvalexemplaren op te geven. Voorbeeld:

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

Pools bieden geen ondersteuning voor het gebruik van flexibele exemplaartypen om het minimale aantal niet-actieve exemplaren te behouden. De pool kan alleen VM's starten met behulp van de typen terugvalexemplaren wanneer een rekenproces vanuit de pool wordt gestart. Voor het opwarmen van de minIdle telling wordt alleen het voorkeurstype instantie gebruikt.

Bekijk de verkregen exemplaartypen

Wanneer u flexibele knooppunttypen gebruikt, kan uw rekenresource bestaan uit een combinatie van verschillende exemplaartypen. Alle typen terugvalexemplaren zijn compatibel met uw voorkeurstype, waarbij hetzelfde aantal vCPU's, geheugen, schijfindeling, CPU-architectuur en installatiekopie van het besturingssysteem wordt onderhouden om ervoor te zorgen dat uw workload correct wordt uitgevoerd.

U kunt bekijken welke exemplaartypen zijn verkregen voor uw rekenresource:

  1. Klik op de pagina rekengegevens op de drie puntjes naast de knop Beëindigen en selecteer JSON weergeven.
  2. Controleer het node_type_id veld voor elke uitvoerder om te zien welke exemplaartypen worden uitgevoerd.

U kunt ook de clustersgegevens API gebruiken om deze informatie programmeerbaar op te halen. Daarnaast kunnen gebruikers met machtigingen voor toegang tot systeemtabellen een query uitvoeren op de node_timelines tabel. Zie tijdlijntabelschema voor knooppunten.

Flexibele knooppunttypen op een rekenresource uitschakelen

Opmerking

Databricks raadt u aan flexibele knooppunttypen ingeschakeld te houden, tenzij u strikte vereisten hebt voor een specifiek exemplaartype.

Als u liever wilt dat de start van het rekenproces mislukt in plaats van terug te vallen op een alternatief exemplaartype, kunt u het gedrag van het flexibele knooppunt op het niveau van de afzonderlijke rekenresource uitschakelen. Dit wordt alleen ondersteund wanneer u de Clusters-API gebruikt. Als u flexibele knooppunttypen wilt uitschakelen, stelt u de velden voor het flexibele knooppunttype in als leeg in de rekenconfiguratie. Voorbeeld:

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

Veelgestelde vragen

Hoe worden bestaande workloads beïnvloed?

Bestaande rekenresources voor alle doeleinden zijn ongewijzigd. Als u automatische terugval wilt gebruiken, maakt u een nieuwe rekenresource voor alle doeleinden nadat u de instelling hebt ingeschakeld of werkt u de specificatie van de rekenresource-API bij met een aangepaste terugvallijst.

Voor taken die taak berekenen gebruiken, maakt elke uitvoering een nieuwe rekenresource, zodat volgende uitvoeringen van bestaande taken automatisch flexibele terugval gebruiken.

Werkt dit met exemplaarpools?

Ja. Flexibele node types zijn van toepassing op de configuraties van uw instance pool. Enkele punten om te noteren:

  • Minimale inactiviteit blijft consistent: de minimale inactieve exemplaren van de pool (minIdle) worden onderhouden met behulp van uw primaire knooppunttype. Alle nieuwe VM's die worden gestart via een clusterlanceringsaanvraag, kunnen worden uitgevoerd met compatibele terugvalknooppunttypen wanneer het primaire type wordt beperkt.
  • Poolbewerkingen: U kunt een exemplaarpool niet bewerken nadat deze is gemaakt. Als u aangepaste terugvalinstellingen wilt aanpassen, moet u een nieuwe exemplaargroep maken.
  • API-zichtbaarheid: Het /api/2.0/instance-pools/get antwoord toont geen flexibiliteit van het knooppunttype, tenzij u expliciet een aangepaste terugvallijst voor de pool hebt geconfigureerd. Als u de terugvalconfiguratie van uw exemplaargroep wilt zien, kunt u een voorbeeldcluster maken en het /api/2.1/clusters/get antwoord bekijken.

Hoe werkt de facturering?

U wordt gefactureerd op basis van de standaard DBU-tarieven voor de exemplaartypen die daadwerkelijk zijn verkregen. Eventuele kortingen op instantieniveau die u bij uw cloudprovider hebt, zijn automatisch van toepassing op de overeenkomende exemplaartypen die door de rekenresource worden gebruikt.

Hoe werkt dit met quota voor knooppunttypen in mijn werkruimte?

Als het starten van een rekenproces mislukt omdat uw primaire knooppunttype de limiet 'quotum overschreden' bereikt, kunnen flexibele knooppunttypen de betrouwbaarheid van de start nog steeds verbeteren door automatisch terug te vallen op een compatibel alternatief. Dat gezegd hebbende, raadt Databricks voor quotumgestuurde fouten aan om fallback te zien als een veiligheidsnet in plaats van als de primaire oplossing. U kunt een quotumverhoging aanvragen bij uw cloudprovider, zodat Azure Databricks consistent uw voorkeursexemplaren kan verkrijgen voordat u gebruik maakt van alternatieven of serverloze berekeningen kunt gebruiken.

Kan ik flexibele knooppunttypen inschakelen voor slechts een subset van mijn workloads?

Automatisch gegenereerde fallback van het knooppunttype kan alleen worden geconfigureerd op werkruimteniveau. U hebt echter twee opties om het terugvalgedrag van een specifieke workload te beheren:

  • (Aanbevolen) Schakel flexibele knooppunttypen voor de werkruimte in en meld u vervolgens af voor een specifiek cluster door in te stellen alternate_node_type_ids op een lege lijst [] in de specificatie van dat cluster.
  • Schakel flexibele knooppunttypen voor de hele werkruimte uit en kies vervolgens voor een specifieke clusterspecificatie door een aangepaste terugvallijst op alternate_node_type_ids te geven die voldoet aan de compatibiliteitsvereisten.