Dela via


Lösa fördröjningar vid skapande av batchnoder vid omstart eller omimering

Den här artikeln beskriver hur du löser fördröjningar när batchnoden skapas när du startar om eller återskapar en nod. Undvik problem i Microsoft Azure Batch som orsakas av installation av stora Python-körnings- och Python-paket. Den här installationen orsakar långa fördröjningar och möjliga oväntade fel när en batchnod först läggs till i en batchpool, eller när noden startas om eller omskapas.

Symptom

När du skapar en batchpool och lägger till en nod i poolen, eller om du startar om eller återskapar noden, tar det för lång tid att slutföra programinstallationen, eller så misslyckas den efter en lång installationstid.

Orsak

Det här problemet beror på att ett Python-paket är för stort för att kunna användas som startuppgift.

När du skapar en batchpool i Azure Batch och lägger till en batchnod är den rekommenderade processen att använda en startuppgift för att förbereda driftmiljön. Den här startuppgiften kan göra följande:

  • Installera de program som dina uppgifter kör.

  • Starta bakgrundsprocesser när batchnoden först läggs till i poolen, eller när noden startas om eller omskapas.

För Python-språkkörningen och program som kräver att Python körs kan paketet dock vara så stort att det tar lång tid innan startuppgiften installeras. Även efter att det mesta av installationen har inträffat kan installationen fortfarande misslyckas på grund av ett oväntat problem.

Lösning

Åtgärda det här problemet genom att matcha den virtuella datorn (VM) och batchkontots platser och os-versioner samt förinstallera Python och dess paket innan du avbildar en Gen1-avbildning.

Använd en fördefinierad anpassad avbildning för att allokera batchnoder. Allmän information om den här processen finns i Använda en hanterad avbildning för att skapa en anpassad avbildningspool.

Följ dessa allmänna metoder för att förhindra långa installationstider och undvika installationsfel:

  • Ange samma plats eller region som ska användas när du skapar batchkontot och skapar batchnoden för den virtuella datorn.

  • Välj en avbildning som har Gen1 i namnet, till exempel Windows Server 2019 Datacenter – Gen1 (Windows-nod) eller Ubuntu Server 18.04 LTS – Gen1 (Linux-nod). En Gen1-avbildning är nödvändig eftersom vissa VM-familjer inte stöder Gen2-avbildningar .

  • När du skapar en pool med noder i Azure Portal kontrollerar du att Sku-listan i avsnittet Operativsystem innehåller den systemversion som du angav.

  • Anpassa Python-installationen så att den förinstalleras på avbildningen och fungerar för alla användare.

Systemspecifika procedurer

I följande avsnitt med flikar beskrivs de steg som du måste vidta för en Windows-batchnod eller en Linux-batchnod.

Windows-nod: Installera den version av Python som krävs på C-enheten och lägg till systemsökvägen manuellt

Sammanfattning av procedur

När du har skapat och startat den virtuella datorn ansluter du till den virtuella datorn med hjälp av Remote Desktop Protocol (RDP). Installera sedan allt du behöver på den virtuella datorn, inklusive den version av Python-körningen som krävs (till exempel Python 3.10.4) och redigera systemsökvägen. Slutligen avbildar du vm-avbildningen, distribuerar den till en batchpool som använder vm-avbildningen, ansluter till den nya batchpoolnoden och testar den för att se till att den förinstallerade Python-körningen och paketen fungerar korrekt.

Steg för procedur

  1. Skapa en virtuell Windows-dator i Azure Portal genom att ange följande inställningar.

    Inställningsnamn Inställningsvärde
    Region Samma region som har tilldelats ditt batchkonto
    Bild En Windows-avbildning som har Gen1 (inte Gen2) i namnet och stöds av batchtjänsten
  2. Anslut till den virtuella datorn med hjälp av RDP.

  3. Kör installationsguiden för Python och välj sedan alternativet Anpassa installation . På sidan Avancerade alternativ går du sedan till rutan Anpassa installationsplats och anger en sökväg på C-enheten.

  4. Redigera systemmiljövariabeln för Path så att den innehåller Python-installationssökvägen (till exempel C:\Python\) och sökvägen till de Python-installerade paketen (till exempel C:\Python\Scripts\).

    Kommentar

    Installationsguiden för Python lägger endast till dessa sökvägar i användarmiljövariabeln för Path. Därför måste du lägga till sökvägarna till motsvarande systemmiljövariabel . I annat fall tas Python-inställningarna och de extra programvarupaket som användaren installerade bort från avbildningen när du avbildar vm-avbildningen.

    Följ dessa steg om du vill lägga till dessa sökvägar i systemmiljövariabeln:

    1. Välj Start och sök sedan efter och välj Inställningar.

    2. I appen Inställningar väljer du System>Om>avancerade systeminställningar.

    3. I dialogrutan Systemegenskaper väljer du fliken Avancerat och sedan Miljövariabler.

    4. I dialogrutan Miljövariabler går du till avsnittet Systemvariabler, väljer variabeln Sökväg och väljer sedan Redigera.

    5. I dialogrutan Redigera miljövariabel väljer du Nytt och anger sedan sökvägen till de Python-installerade paketen. Upprepa sedan det här steget för att ange sökvägen till Python-körningen.

    6. Välj OK tre gånger för att tillämpa ändringarna i de tre dialogrutorna.

  5. Testa Python-installationen i en konsol.

    När du till exempel har kört python --version för att verifiera den version av Python som du har installerat kan du köra Python-tolken för att försöka importera ett paket som inte har installerats ännu (till exempel numpy). När du har fått det förväntade ModuleNotFoundError undantaget kör pip install <package-name> du kommandot för att installera paketet och kör sedan Python-tolken igen för att importera paketet. Importkommandot bör nu lyckas.

  6. Avbilda vm-avbildningen genom att följa stegen i Skapa en avbildning av en virtuell dator i portalen, men tillämpa endast följande inställningar på sidan Skapa en avbildning .

    Inställningsnamn Inställningsvärde
    Resursgrupp Välj i listan över resursgrupper eller välj Skapa ny för att skapa en resursgrupp.
    Azure-beräkningsgalleri för mål Välj i listan över Azure-beräkningsgallerier eller välj Skapa ny för att skapa ett Azure-beräkningsgalleri.
    Avbildningsdefinition för virtuell måldator Välj Skapa ny. På sidan Skapa en VM-avbildningsdefinition anger du bara det namn på vm-avbildningsdefinitionen som du vill ge till avbildningen. (Sidan ger automatisktInställningar för utgivare, erbjudande och SKU .)
    Versionsnummer Ange ett versionsnummer som du vill ge till vm-avbildningen.
  7. När du har tillämpat avbildningsinställningarna för den virtuella datorn väljer du Granska + skapa för att verifiera inställningarna och väljer sedan Skapa för att skapa avbildningen. Det här steget skapar följande tre resurstyper:

    • Azure Compute Gallery
    • Anpassad bilddefinition
    • Anpassad bilddefinitionsversion
  8. När de tre resurserna har skapats följer du de här stegen för att skapa en ny batchpool som använder vm-avbildningen:

    1. I Azure Portal söker du efter och väljer Batch-konton.

    2. I listan över batchkonton väljer du ditt konto.

    3. I menyfönstret för batchkontot väljer du Pooler och sedan Lägg till för att skapa en batchpool.

    4. På sidan Lägg till pool gör du följande inställningar och väljer sedan OK.

      Inställningsnamn Inställningsvärde
      Pool-ID Det nya namnet på din pool
      Avbildningstyp Anpassad avbildning – Delat bildgalleri *
      Delat bildgalleri Namnet på azure-målbearbetningsgalleriet som du angav när du skapade VM-avbildningen
      Bild Namnet på den virtuella datorns avbildningsdefinition som du angav när du skapade vm-avbildningen
      Version: Versionsnumret som du angav när du skapade vm-avbildningen
      Operativsystem Windows
      OS-distribution windowsserver
      OS-sku Produktkoden för den operativsystemversion som du valde (till exempel microsoftwindowsserver-2019-datacenter)

      * Delat bildgalleri är ett annat namn för Azure Compute Gallery. Det här är en av de resurser som skapades när den virtuella datorn skapades.

  9. När batchpoolnoden har allokerats går du till nodsidan för batchpoolen och väljer sedan Anslut på rubrikmenyn.

  10. I fönstret Anslut väljer du alternativet Generera en användare , väljer knappen Generera en slumpmässig användare och väljer sedan Ladda ned RDP-fil.

  11. Kör den nedladdade RDP-filen för att ansluta till den nya batchnoden.

  12. Testa Python-installationen igen för att se till att den förinstallerade versionen fungerar korrekt.

Referenser

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.