HDInsight automatisch schalen op AKS-clusters
Belangrijk
Azure HDInsight op AKS is op 31 januari 2025 buiten gebruik gesteld. Meer weten over via deze aankondiging.
U moet uw workloads migreren naar Microsoft Fabric- of een gelijkwaardig Azure-product om plotselinge beëindiging van uw workloads te voorkomen.
Belangrijk
Deze functie is momenteel beschikbaar als preview-versie. De aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews meer juridische voorwaarden bevatten die van toepassing zijn op Azure-functies die bèta, in preview of anderszins nog niet in algemene beschikbaarheid zijn vrijgegeven. Zie Azure HDInsight in AKS preview-informatievoor meer informatie over deze specifieke preview. Voor vragen of suggesties voor functies dient u een aanvraag in op AskHDInsight- met de details en volgt u ons voor meer updates over Azure HDInsight Community-.
Het aanpassen van de grootte van een cluster om te voldoen aan de prestaties van de taak en het beheren van de kosten van tevoren is altijd lastig en moeilijk te bepalen! Een van de lucratieve voordelen van het bouwen van Data Lake House via Cloud is de elasticiteit, wat betekent dat u de functie voor automatisch schalen kunt gebruiken om het gebruik van resources bij de hand te maximaliseren. Automatisch schalen met Kubernetes is een belangrijke sleutel voor het tot stand brengen van een ecosysteem dat is geoptimaliseerd voor kosten. Met verschillende gebruikspatronen in elk bedrijf kunnen er na verloop van tijd variaties in clusterbelastingen zijn die ertoe kunnen leiden dat clusters te weinig of overmatig worden ingericht, wat respectievelijk slechte prestaties of onnodige kosten vanwege onbenutte middelen kan veroorzaken.
De functie voor automatisch schalen die in HDInsight op AKS wordt aangeboden, kan het aantal werkknooppunten in uw cluster automatisch vergroten of verkleinen. Automatisch schalen maakt gebruik van de metrische clustergegevens en het schaalbeleid dat door de klanten wordt gebruikt.
Deze functie is zeer geschikt voor bedrijfskritieke workloads, die mogelijk
- Variabele of onvoorspelbare verkeerspatronen vereisen SLA's voor hoge prestaties en schaal.
- Vooraf bepaalde planning voor de beschikbaarheid van vereiste werkknooppunten om de taken succesvol in het cluster uit te voeren.
Automatisch schalen met HDInsight op AKS-clusters maakt de clusters kostenefficiënt en elastisch in Azure.
Met automatisch schalen kunnen klanten clusters omlaag schalen zonder dat dit van invloed is op workloads. Het beschikt over geavanceerde mogelijkheden, zoals een geleidelijke afbouw en een koelperiode. Met deze mogelijkheden kunnen gebruikers weloverwogen keuzes maken over het toevoegen en verwijderen van knooppunten op basis van de huidige belasting van het cluster.
Hoe het werkt
Deze functie werkt door het aantal knooppunten binnen vooraf ingestelde limieten te schalen op basis van metrische clustergegevens of een gedefinieerd schema voor opschalen en omlaag schalen. Er zijn twee soorten voorwaarden voor het activeren van gebeurtenissen voor automatisch schalen: triggers op basis van drempelwaarden voor verschillende metrische gegevens voor clusterprestaties (op basis van belasting) en tijdgebaseerde triggers (ook wel schaalaanpassing op basis van planning genoemd).
Op belasting gebaseerde schaalaanpassing wijzigt het aantal knooppunten in uw cluster, binnen een bereik dat u instelt, om optimaal CPU-gebruik te garanderen en de lopende kosten te minimaliseren.
Op schema's gebaseerde schaalaanpassing wijzigt het aantal knooppunten in uw cluster op basis van een schema van omhoog en omlaag schalen.
Notitie
Automatisch schalen biedt geen ondersteuning voor het wijzigen van het SKU-type van een bestaand cluster.
Clustercompatibiliteit
In de volgende tabel worden de clustertypen beschreven die compatibel zijn met de functie Automatisch schalen en wat er beschikbaar of gepland is.
Werkdruk | Op basis van last | Op basis van rooster |
---|---|---|
Flink | Gepland | Ja |
Trino | Ja** | Ja** |
Vonk | Ja** | Ja** |
Zorgvuldige uitfasering is configureerbaar.
Schaalmethoden
op planning gebaseerde schaalaanpassing:
schaal op basis van belasting:
Wanneer de belastingspatronen aanzienlijk en onvoorspelbaar gedurende de dag fluctueren, bijvoorbeeld ordergegevensverwerking met willekeurige schommelingen in belastingpatronen op basis van verschillende factoren.
Met de nieuwe optie schaalregel configureren kunt u nu de schaalregels aanpassen.
Tip
- Regels voor omhoog schalen hebben voorrang wanneer een of meer regels worden geactiveerd. Zelfs als slechts één van de regels voor opschalen suggereert dat het cluster onderbedeeld is, zal het cluster proberen op te schalen. Om omlaag te schalen, moet er geen regel voor omhoog schalen worden geactiveerd.
Schaalcondities gebaseerd op belasting
Wanneer de volgende voorwaarden worden gedetecteerd, geeft de functie voor automatisch schalen een schaalverzoek af.
Opschalen | Afbouwen |
---|---|
Toegewezen kernen zijn groter dan 80% gedurende een poll-interval van 5 minuten (controleperiode van 1 minuut) | Toegewezen kernen zijn kleiner dan of gelijk aan 20% voor een poll-interval van 5 minuten (controleperiode van 1 minuut) |
Voor opschalen doet de automatische schaling een verzoek voor opschalen om het vereiste aantal knooppunten toe te voegen. Het omhoog schalen is gebaseerd op het aantal nieuwe werkknooppunten dat nodig is om te voldoen aan de huidige CPU- en geheugenvereisten. Deze waarde wordt beperkt tot het maximum aantal werkknooppunten dat is ingesteld.
Bij het schalen naar beneden geeft Auto Scale een verzoek om enkele knooppunten te verwijderen. De overwegingen voor omlaag schalen omvatten het aantal pods per knooppunt, de huidige CPU- en geheugenvereisten en werkknooppunten, die kandidaten zijn voor verwijdering op basis van de huidige taakuitvoering. De operatie om omlaag te schalen schakelt eerst de knooppunten uit en verwijdert ze vervolgens uit het cluster.
Belangrijk
De regelengine voor automatisch schalen spoelt elke 30 minuten proactief oude gebeurtenissen om het systeemgeheugen te optimaliseren. Als gevolg hiervan bestaat er een maximale grens van 30 minuten op het schaalregelinterval. Om ervoor te zorgen dat de consistente en betrouwbare triggering van schaalacties wordt gegarandeerd, is het noodzakelijk om het interval van de schaalregel in te stellen op een waarde die kleiner is dan de limiet. Door aan deze richtlijn te houden, kunt u een soepel en efficiënt schaalproces garanderen terwijl u systeemresources effectief beheert.
Clusterstatistieken
Automatisch schalen houdt het cluster continu in de gaten en verzamelt de volgende metingen voor automatisch schalen op basis van belasting.
Metrische clustergegevens beschikbaar voor schaalaanpassingsdoeleinden
Maatstaf | Beschrijving |
---|---|
Beschikbare kernpercentage | Het totale aantal kernen dat beschikbaar is in het cluster in vergelijking met het totale aantal kernen in het cluster. |
Beschikbaar geheugenpercentage | Het totale geheugen (in MB) dat beschikbaar is in het cluster in vergelijking met de totale hoeveelheid geheugen in het cluster. |
Percentage van toegewezen kernen | Het totale aantal kernen dat in het cluster is toegewezen in vergelijking met het totale aantal kernen in het cluster. |
Toegewezen geheugenpercentage | De hoeveelheid geheugen die in het cluster is toegewezen in vergelijking met de totale hoeveelheid geheugen in het cluster. |
Standaard worden de bovenstaande metrische gegevens elke 300 seconden gecontroleerd. Deze kan ook worden geconfigureerd wanneer u het poll-interval aanpast met de optie voor automatische schaalaanpassing. Automatische schaalaanpassing neemt beslissingen over het opschalen of afschalen op basis van deze metrics.
Notitie
Automatisch schalen maakt standaard gebruik van de standaardresourcecalculator voor YARN voor Apache Spark. Schaalaanpassing op basis van belasting is beschikbaar voor Apache Spark-clusters.
Probleemloos buiten gebruik stellen
Ondernemingen hebben manieren nodig om petabyte-schaal te bereiken met automatisch schalen en om resources op een nette manier buiten gebruik te stellen wanneer ze niet meer nodig zijn. In zo'n scenario komt de functie voor vloeiend buiten gebruik stellen van pas.
Gracieus buiten gebruik stellen zorgt ervoor dat taken kunnen worden voltooid, zelfs nadat automatische schaalaanpassing het buiten gebruik stellen van de werkknooppunten heeft geactiveerd. Met deze functie kunnen knooppunten nog steeds worden ingericht totdat taken zijn voltooid.
Trino-: Werkers hebben standaard Graceful Decommission ingeschakeld. De coördinator maakt het mogelijk om een beëindigende werknemer zijn taken gedurende een bepaalde geconfigureerde tijd af te laten ronden voordat deze uit het cluster wordt verwijderd. U kunt de time-out configureren met behulp van de systeemeigen Trino-parameter
shutdown.grace-period
of op de configuratiepagina van de Azure-portalservice.Apache Spark-: Afschalen kan invloed hebben op lopende taken of deze stoppen in het cluster. Als u Graceful Decommissioning inschakelt in de Azure Portal, omvat dit het Graceful Decommission van YARN-knooppunten en zorgt het ervoor dat al het werk dat wordt uitgevoerd op een werkknooppunt is voltooid voordat het knooppunt wordt verwijderd uit het HDInsight op het AKS-cluster.
Afkoelperiode
Om continue opschaalbewerkingen te voorkomen, wacht de autoscale-engine een configureerbaar interval af voordat een nieuwe reeks opschaalbewerkingen wordt gestart. De standaardwaarde is ingesteld op 180 seconden
Notitie
- In aangepaste schaalregels kan er geen regeltrigger een triggerinterval van meer dan 30 minuten hebben. Nadat een gebeurtenis voor automatisch schalen is uitgevoerd, wordt de hoeveelheid tijd die moet worden gewacht voordat een ander schaalbeleid wordt afgedwongen.
- Afkoelperiode moet groter zijn dan het beleidsinterval, zodat de metrische clustergegevens opnieuw kunnen worden ingesteld.
Aan de slag
Als u automatisch schalen wilt laten functioneren, moet u de eigenaar of inzender machtiging toewijzen aan de MSI (gebruikt tijdens het maken van het cluster) op clusterniveau, met behulp van IAM in het linkerdeelvenster.
Raadpleeg de volgende afbeelding en stappen voor het toevoegen van roltoewijzing
Selecteer en voeg roltoewijzing toe,
- Toewijzingstype: Bevoorrechte beheerdersrollen
- Rol: eigenaar of inzender
- Leden: Kies beheerde identiteit en selecteer de door de gebruiker toegewezen beheerde identiteit, die is gegeven tijdens de fase voor het maken van het cluster.
- Wijs de rol toe.
Een cluster maken met automatisch schalen op basis van een planning
Zodra uw clustergroep is gemaakt, maakt u een nieuw cluster met de gewenste werkbelasting (op het clustertype) en voert u de andere stappen uit als onderdeel van het normale proces voor het maken van clusters.
Schakel de optie automatisch schalen in op het tabblad Configuratie.
Selecteer Op schema gebaseerde automatische schaalvergroting
Selecteer uw tijdzone en klik vervolgens op + Regel toevoegen
Selecteer de dagen van de week waarop de nieuwe voorwaarde van toepassing moet zijn.
Bewerk de tijd waarop de voorwaarde van kracht moet worden en het aantal knooppunten waarnaar het cluster moet worden geschaald.
Notitie
- De gebruiker moet de rol 'eigenaar' of 'bijdrager' hebben in het cluster-MSI om automatisch schalen te laten werken.
- De standaardwaarde definieert de initiële grootte van het cluster wanneer het wordt gemaakt.
- Het verschil tussen twee planningen is standaard ingesteld op 30 minuten.
- De tijdwaarde volgt het 24-uursformaat
- In het geval van een doorlopend venster van meer dan 24 uur over dagen, moet u een schema voor automatische schaalaanpassing instellen voor dagen en wordt voor automatische schaalaanpassing ervan uitgegaan dat 23:59 is ingesteld op 00:00 (met hetzelfde aantal knooppunten) gedurende twee dagen van 22:00 tot 23:59, 00:00 tot 02:00 uur.
- De planningen worden standaard ingesteld in Coordinated Universal Time (UTC). U kunt altijd bijwerken naar de tijdzone die overeenkomt met uw lokale tijdzone in de vervolgkeuzelijst die beschikbaar is. Wanneer u zich in een tijdzone bevindt die zomertijd hanteert, wordt het schema niet automatisch aangepast; u moet de schema-updates dienovereenkomstig beheren.
Een cluster maken met op belasting gebaseerd automatisch schalen
Zodra uw clustergroep is gemaakt, maakt u een nieuw cluster met de gewenste werkbelasting (op het clustertype) en voert u de andere stappen uit als onderdeel van het normale proces voor het maken van clusters.
Schakel op het tabblad Configuratie de schakelaar Autoscale in.
Selecteer belastingsgebaseerd autoschalen
Op basis van het type workload hebt u opties voor het toevoegen van probleemloze time-out voor buitengebruikstelling, afkoelperiode
Selecteer de minimale en maximale knooppunten en configureer indien nodig de schaalregels om automatisch schalen aan te passen aan uw behoeften.
Fooi
- Uw abonnement heeft een capaciteitsquotum voor elke regio. Het totale aantal kernen van uw hoofdknooppunten en de maximale werkknooppunten kunnen het capaciteitsquotum niet overschrijden. Dit quotum is echter een zachte limiet; u kunt altijd een ondersteuningsticket maken om het eenvoudig te laten toenemen.
- Als u de totale quotumlimiet voor kerngeheugens overschrijdt, krijgt u een foutbericht met de mededeling
The maximum node count you can select is {maxCount} due to the remaining quota in the selected subscription ({remaining} cores)
. - Regels voor omhoog schalen hebben voorrang wanneer een of meer regels worden geactiveerd. Zelfs als slechts één van de regels voor opschalen voorstelt dat het cluster te weinig is ingericht, probeert het cluster op te schalen. Om omlaag te schalen, moet er geen regel voor omhoog schalen worden geactiveerd.
- In openbare preview ondersteunt HDInsight in AKS maximaal 500 knooppunten in een cluster.
Een cluster maken met een Resource Manager-sjabloon
Automatisch schalen op basis van schema
U kunt een HDInsight op een AKS-cluster maken met automatisch schalen op basis van een planning, met behulp van een Azure Resource Manager-sjabloon, door een autoschaalprofiel toe te voegen aan de clusterProfile> sectie autoscaleProfile.
Het knooppunt voor automatisch schalen bevat een herhaling met een tijdzone en een schema dat beschrijft wanneer de wijziging plaatsvindt. Zie voorbeeld-JSON voor een volledige Resource Manager-sjabloon
{
"autoscaleProfile": {
"enabled": true,
"autoscaleType": "ScheduleBased",
"gracefulDecommissionTimeout": 60,
"scheduleBasedConfig": {
"schedules": [
{
"days": [
"Monday",
"Tuesday",
"Wednesday"
],
"startTime": "09:00",
"endTime": "10:00",
"count": 2
},
{
"days": [
"Sunday",
"Saturday"
],
"startTime": "12:00",
"endTime": "22:00",
"count": 5
},
{
"days": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"startTime": "22:00",
"endTime": "23:59",
"count": 6
},
{
"days": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"startTime": "00:00",
"endTime": "05:00",
"count": 6
}
],
"timeZone": "UTC",
"defaultCount": 110
}
}
}
Fooi
- U moet niet-conflicterende planningen instellen met behulp van ARM-implementaties om fouten met schaalbewerkingen te voorkomen.
automatisch schalen op basis van laden
U kunt een HDInsight op een AKS-cluster maken met schalen op basis van belasting met behulp van een Azure Resource Manager-sjabloon door een autoschaalprofiel toe te voegen aan het autoscaleProfile-deel van de sectie clusterProfile->.
Het knooppunt voor automatische schaalvergroting bevat
- een pollinterval, afkoelingsperiode,
- probleemloos buiten gebruik stellen,
- minimum- en maximumknooppunten,
- standaarddrempelregels,
- schaalgegevens die het tijdstip van wijziging beschrijven.
Zie voorbeeld-JSON als volgt voor een volledige Resource Manager-sjabloon
{
"autoscaleProfile": {
"enabled": true,
"autoscaleType": "LoadBased",
"gracefulDecommissionTimeout": 60,
"loadBasedConfig": {
"minNodes": 2,
"maxNodes": 157,
"pollInterval": 300,
"cooldownPeriod": 180,
"scalingRules": [
{
"actionType": "scaleup",
"comparisonRule": {
"threshold": 80,
"operator": " greaterThanOrEqual"
},
"evaluationCount": 1,
"scalingMetric": "allocatedCoresPercentage"
},
{
"actionType": "scaledown",
"comparisonRule": {
"threshold": 20,
"operator": " lessThanOrEqual"
},
"evaluationCount": 1,
"scalingMetric": "allocatedCoresPercentage"
}
]
}
}
}
De REST API gebruiken
Als u automatisch schalen wilt in- of uitschakelen voor een actief cluster met behulp van de REST API, moet u een PATCH-aanvraag indienen bij uw eindpunt voor automatisch schalen: https://management.azure.com/subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTER_POOL_NAME}}/clusters/{{CLUSTER_NAME}}?api-version={{HILO_API_VERSION}}
- Gebruik de juiste parameters in de nettolading van de aanvraag. De JSON-payload kan worden gebruikt om Auto-scaling in te schakelen.
- Gebruik de payload (autoscaleProfile: null) of gebruik de optie (ingeschakeld, false) om Auto scale uit te schakelen.
- Raadpleeg de JSON-voorbeelden die in de bovenstaande stap zijn vermeld ter referentie.
Automatische schaling onderbreken voor een actief cluster
We hebben de functie onderbreken geïntroduceerd in Automatisch schalen. Met behulp van de Azure-portal kunt u Autoschaling onderbreken voor een actief cluster. Het onderstaande diagram laat zien hoe u onderbreken en hervatten van autoscaling selecteert.
U kunt de bewerkingen voor automatisch schalen hervatten wanneer u dat wilt.
Tip
Wanneer u meerdere planningen configureert en u de automatische schaalaanpassing onderbroken, wordt de volgende planning niet geactiveerd. Het aantal knooppunten blijft hetzelfde, zelfs als de knooppunten buiten gebruik worden gesteld.
Configuraties voor automatisch schalen kopiëren
Met behulp van Azure Portal kunt u nu dezelfde configuraties voor automatische schaalaanpassing kopiëren voor dezelfde clustershape in uw clustergroep. U kunt deze functie gebruiken en dezelfde configuraties exporteren of importeren.
Het bewaken van Auto scale-activiteiten
Clusterstatus
De status van de cluster in de Azure Portal kan u helpen bij het monitoren van activiteiten voor automatisch schalen. Alle clusterstatusberichten die u mogelijk ziet, worden uitgelegd in de lijst.
Clusterstatus | Beschrijving |
---|---|
Geslaagd | Het cluster werkt normaal. Alle vorige activiteiten voor automatisch schalen zijn voltooid. |
Geaccepteerd | De clusterbewerking (bijvoorbeeld: omhoog schalen) wordt geaccepteerd en wacht tot de bewerking is voltooid. |
Mislukt | Dit betekent dat een huidige bewerking om een of andere reden is mislukt, het cluster mogelijk niet functioneel is. |
Geannuleerd | De huidige bewerking wordt geannuleerd. |
Als u het huidige aantal knooppunten in uw cluster wilt weergeven, gaat u naar de grafiek clustergrootte op de pagina Overzicht voor uw cluster.
Bewerkingsgeschiedenis
U kunt de geschiedenis van het opschalen en afschalen van het cluster bekijken als onderdeel van de clusterstatistieken. U kunt ook alle schaalbewerkingen weergeven gedurende de afgelopen dag, week of andere periode.
Aanvullende bronnen
handmatig schalen - Azure HDInsight in AKS-