Apache Flink-konfigurationshantering® i HDInsight på AKS

Viktigt!

Den här funktionen finns i förhandsgranskning. De kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure innehåller fler juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. Om du vill ha frågor eller funktionsförslag skickar du en begäran på AskHDInsight med informationen och följer oss för fler uppdateringar i Azure HDInsight Community.

HDInsight på AKS innehåller en uppsättning standardkonfigurationer av Apache Flink för de flesta egenskaper och några baserat på vanliga programprofiler. Men om du måste justera Flink-konfigurationsegenskaper för att förbättra prestanda för vissa program med tillståndsanvändning, parallellitet eller minnesinställningar kan du ändra Flink-jobbkonfigurationen med hjälp av avsnittet Flink-jobb i HDInsight i AKS-kluster.

  1. Gå till Inställningar > Flink-jobb > Klicka på Uppdatera.

    Skärmbild som visar uppdateringssidan.

  2. Klicka på + Lägg till en rad för att redigera konfigurationen.

    Skärmbild av uppdateringsjobb.

    Här ändras kontrollpunktsintervallet på klusternivå.

  3. Uppdatera ändringarna genom att klicka på OK och sedan spara.

  4. När de nya konfigurationerna har sparats uppdateras de om några minuter (~5 minuter).

  5. Konfigurationer som kan uppdateras med konfigurationshantering Inställningar.

    processMemory size:

  6. Standardinställningarna för processminnets storlek eller jobbhanteraren och Aktivitetshanteraren är det minne som konfigurerades av användaren när klustret skapades.

  7. Den här storleken kan konfigureras med hjälp av konfigurationsegenskapen nedan. Använd den här konfigurationen för att ändra processminnet för Aktivitetshanteraren.

    taskmanager.memory.process.size : <value>

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

  8. För job manager

    jobmanager.memory.process.size : <value>

    Kommentar

    Det maximala konfigurerbara processminnet är lika med det minne som har konfigurerats för jobmanager/taskmanager.

Kontrollpunktsintervall

Kontrollpunktsintervallet avgör hur ofta Flink utlöser en kontrollpunkt. Definieras i millisekunder och kan anges med hjälp av följande konfigurationsegenskap

execution.checkpoint.interval: <value>

Standardinställningen är 60 000 millisekunder (1 min), det här värdet kan ändras efter behov.

Tillståndsserverdel

Tillståndsserverdelen avgör hur Flink hanterar och bevarar programmets tillstånd. Det påverkar hur kontrollpunkter lagras. Du kan konfigurera "tillståndsserverdelen" med hjälp av följande egenskap:

state.backend: <value>

Som standard använder Apache Flink-kluster i HDInsight på AKS Rocks DB.

Sökväg för kontrollpunktslagring

Vi tillåter beständiga kontrollpunkter som standard genom att lagra kontrollpunkterna i abfs lagringen enligt användarens konfiguration. Även om jobbet misslyckas, eftersom kontrollpunkterna sparas, kan det enkelt startas med den senaste kontrollpunkten.

state.checkpoints.dir: <path> Ersätt <path> med önskad sökväg där kontrollpunkterna lagras.

Som standard lagras det i lagringskontot (ABFS), som konfigurerats av användaren. Det här värdet kan ändras till valfri sökväg så länge Flink-poddarna kan komma åt det.

Maximalt antal samtidiga kontrollpunkter

Du kan begränsa det maximala antalet samtidiga kontrollpunkter genom att ange följande egenskap: checkpoint.max-concurrent-checkpoints: <value>

Ersätt <value> med önskat maximalt antal samtidiga kontrollpunkter. Till exempel 1 för att endast tillåta en kontrollpunkt i taget.

Maximalt antal bevarade kontrollpunkter

Du kan begränsa det maximala antalet kontrollpunkter som ska behållas genom att ange följande egenskap: state.checkpoints.num-retained: <value> Ersätt <value> med önskat maximalt antal. Som standard behåller vi högst fem kontrollpunkter.

Sökväg till Savepoint Storage

Vi tillåter beständiga sparanden som standard genom att lagra sparanden i abfs lagringen (enligt användarens konfiguration). Om användaren vill stoppa och senare starta jobbet med en viss sparpunkt kan de konfigurera den här platsen. state.checkpoints.dir: <path> Ersätt <path> med önskad sökväg där sparandepunkterna lagras. Lagras som standard i lagringskontot, konfigurerat av användaren. (Vi stöder ABFS). Det här värdet kan ändras till valfri sökväg så länge Flink-poddarna kan komma åt det.

Hög tillgänglighet för Jobbhanteraren

I HDInsight på AKS använder Flink Kubernetes som serverdel. Även om Job Manager misslyckas mellan på grund av ett känt/okänt problem startas podden om inom några sekunder. Även om jobbet startas om på grund av det här problemet återställs jobbet därför tillbaka från den senaste kontrollpunkten.

Vanliga frågor

Varför misslyckas jobbet däremellan. Även om jobben misslyckas plötsligt, om kontrollpunkterna sker kontinuerligt, startas jobbet som standard om från den senaste kontrollpunkten.

Vill du ändra jobbstrategin däremellan? Det finns användningsfall där jobbet måste ändras i produktion på grund av en bugg på jobbnivå. Under den tiden kan användaren stoppa jobbet, vilket automatiskt skulle ta en sparpunkt och spara den på platsen för sparandepunkter.

  1. Klicka på savepoint och vänta savepoint tills det har slutförts.

    Skärmbild som visar alternativ för spara punkt.

  2. När savepoint har slutförts klickar du på Start och fliken Starta jobb visas. Välj savepoint-namnet i listrutan. Redigera eventuella konfigurationer om det behövs. Och klicka på OK.

    Skärmbild som visar hur du startar jobbet.

Eftersom savepoint tillhandahålls i jobbet vet Flink varifrån data ska börja bearbetas.

Referens