Vertragingen bij het maken van batchknooppunten oplossen bij het opnieuw opstarten of opnieuw instellen
In dit artikel wordt beschreven hoe u vertragingen bij het maken van batchknooppunten kunt oplossen wanneer u een knooppunt opnieuw opstart of opnieuw opstart. Vermijd problemen in Microsoft Azure Batch die worden veroorzaakt door het installeren van de grote Python-runtime- en Python-pakketten. Deze installatie veroorzaakt lange vertragingen en mogelijke onverwachte fouten wanneer een batchknooppunt voor het eerst wordt toegevoegd aan een batchgroep of wanneer het knooppunt opnieuw wordt opgestart of opnieuw wordt gemaakt.
Symptomen
Wanneer u een batchgroep maakt en een knooppunt toevoegt aan de pool, of u het knooppunt opnieuw opstart of een installatiekopie maakt, duurt de installatie van de toepassing te lang om te voltooien of mislukt deze na een lange installatietijd.
Oorzaak
Dit probleem treedt op omdat een Python-pakket te groot is voor gebruik als begintaak.
Wanneer u een batchgroep maakt in Azure Batch en een batchknooppunt toevoegt, is het aanbevolen om een begintaak te gebruiken om de operationele omgeving voor te bereiden. Met deze begintaak kunt u het volgende doen:
Installeer de toepassingen die door uw taken worden uitgevoerd.
Start achtergrondprocessen wanneer het batchknooppunt voor het eerst wordt toegevoegd aan de pool of wanneer het knooppunt opnieuw wordt opgestart of opnieuw wordt gemaakt.
Voor de Python-taalruntime en -toepassingen waarvoor Python moet worden uitgevoerd, kan het pakket echter zo groot zijn dat het lang duurt voordat de begintaak is geïnstalleerd. Zelfs nadat de meeste installatie is opgetreden, kan de installatie nog steeds mislukken vanwege een onverwacht probleem.
Oplossing
U kunt dit probleem oplossen door de locaties en besturingssysteemversies van de virtuele machine (VM) en batchaccounts te koppelen, en Python en de bijbehorende pakketten vooraf te installeren voordat u een Gen1-installatiekopieën vastlegt.
Gebruik een vooraf verpakte aangepaste installatiekopieën om batchknooppunten toe te wijzen. Zie Een beheerde installatiekopieën gebruiken om een aangepaste installatiekopieëngroep te maken voor algemene informatie over dit proces.
Volg deze algemene procedures om langdurige installatietijden te voorkomen en installatiefouten te voorkomen:
Geef dezelfde locatie of regio op die moet worden gebruikt wanneer u het batchaccount maakt en het VM-batchknooppunt maakt.
Selecteer een installatiekopie met Gen1 in de naam, zoals Windows Server 2019 Datacenter - Gen1 (Windows-knooppunt) of Ubuntu Server 18.04 LTS - Gen1 (Linux-knooppunt). Een Gen1-installatiekopieën zijn nodig omdat sommige VM-families geen ondersteuning bieden voor Gen2-installatiekopieën .
Wanneer u een pool met knooppunten maakt in Azure Portal, moet u ervoor zorgen dat de SKU-lijst in de sectie Besturingssysteem de systeemversie bevat die u hebt opgegeven.
Pas uw Python-installatie aan zodat deze vooraf wordt geïnstalleerd op de installatiekopieën en werkt voor alle gebruikers.
Systeemspecifieke procedures
In de volgende secties met tabbladen worden de stappen beschreven die u moet uitvoeren voor een Windows-batchknooppunt of een Linux-batchknooppunt.
Windows-knooppunt: installeer de vereiste versie van Python op het C-station en voeg het systeempad handmatig toe
Procedureoverzicht
Nadat u de VIRTUELE machine hebt gemaakt en gestart, maakt u verbinding met de VIRTUELE machine met behulp van Remote Desktop Protocol (RDP). Installeer vervolgens alles wat u nodig hebt op de virtuele machine, inclusief de vereiste versie van de Python-runtime (bijvoorbeeld Python 3.10.4) en bewerk het systeempad. Leg ten slotte de VM-installatiekopieën vast, implementeer deze in een batchgroep die gebruikmaakt van de VM-installatiekopieën, maak verbinding met het nieuwe knooppunt van de batchgroep en test deze vervolgens om ervoor te zorgen dat de vooraf geïnstalleerde Python-runtime en -pakketten correct werken.
Procedurestappen
Maak een Virtuele Windows-machine in Azure Portal door de volgende instellingen op te geven.
Naam instelling Instellingswaarde Regio Dezelfde regio die is toegewezen aan uw batch-account Image Een Windows-installatiekopieën met Gen1 (niet Gen2) in de naam en worden ondersteund door de Batch-service Voer de installatiewizard van Python uit en selecteer vervolgens de optie Installatie aanpassen. Ga vervolgens op de pagina Geavanceerde opties naar het vak Installatielocatie aanpassen en geef een pad op op het C-station.
Bewerk de omgevingsvariabele van het systeem zodat deze het Python-installatiepad bevat (zoals C:\Python\) en het pad naar de geïnstalleerde Python-pakketten (zoals C:\Python\Scripts\).
Path
Notitie
De wizard Python Setup voegt deze paden alleen toe aan de omgevingsvariabele van de gebruiker voor
Path
. Daarom moet u de paden toevoegen aan de bijbehorende omgevingsvariabele van het systeem . Als u de VM-installatiekopieën vastlegt, worden de Python-instellingen en de extra softwarepakketten die de gebruiker heeft geïnstalleerd, verwijderd uit de installatiekopieën.Volg deze stappen om deze paden toe te voegen aan de omgevingsvariabele van het systeem:
Selecteer Start en zoek en selecteer Instellingen.
Selecteer In de app Instellingen de optie Systeem>over>geavanceerde systeeminstellingen.
Selecteer in het dialoogvenster Systeemeigenschappen het tabblad Geavanceerd en selecteer vervolgens Omgevingsvariabelen.
Ga in het dialoogvenster Omgevingsvariabelen naar de sectie Systeemvariabelen, selecteer de padvariabele en selecteer vervolgens Bewerken.
Selecteer nieuw in het dialoogvenster Omgevingsvariabele bewerken en voer vervolgens het pad in naar de geïnstalleerde Python-pakketten. Herhaal vervolgens deze stap om het pad naar de Python-runtime in te voeren.
Selecteer DRIE keer OK om de wijzigingen toe te passen in de drie dialoogvensters.
Test de Python-installatie in een console.
Nadat u bijvoorbeeld hebt uitgevoerd
python --version
om de versie van Python te controleren die u hebt geïnstalleerd, kunt u de Python-interpreter uitvoeren om te proberen een pakket te importeren dat nog niet is geïnstalleerd (zoalsnumpy
). Nadat u de verwachteModuleNotFoundError
uitzondering hebt opgehaald, voert u depip install <package-name>
opdracht uit om het pakket te installeren en voert u vervolgens de Python-interpreter opnieuw uit om dat pakket te importeren. De importopdracht zou nu moeten slagen.Leg de VM-installatiekopieën vast door de stappen te volgen in Een installatiekopieën maken van een virtuele machine in de portal, maar pas alleen de volgende instellingen toe op de pagina Een installatiekopieën maken.
Naam instelling Instellingswaarde Resourcegroep Selecteer in de lijst met resourcegroepen of selecteer Nieuwe maken om een resourcegroep te maken. Doelgalerie voor Azure Compute Selecteer in de lijst met Azure-rekengalerieën of selecteer Nieuw maken om een Azure-rekengalerie te maken. Definitie van doel-VM-installatiekopieën Selecteer Nieuw maken. Voer op de pagina Definitie van een VM-installatiekopieën maken alleen de naam van de definitie van de VM-installatiekopieën in die u aan de installatiekopieën wilt geven. (De pagina geeft automatisch de Uitgevers-, aanbiedings- en SKU-instellingen .) Versienummer Voer een versienummer in dat u aan de VM-installatiekopieën wilt geven. Nadat u de vm-installatiekopieën hebt toegepast, selecteert u Controleren en maken om de instellingen te controleren en selecteert u Vervolgens Maken om de installatiekopieën te maken. Met deze stap maakt u de volgende drie resourcetypen:
- Azure Compute Gallery
- Definitie van aangepaste installatiekopieën
- Definitieversie van aangepaste installatiekopieën
Nadat de drie resources zijn gemaakt, volgt u deze stappen om een nieuwe batchgroep te maken die gebruikmaakt van de VM-installatiekopieën:
Zoek en selecteer Batch-accounts in Azure Portal.
Selecteer uw account in de lijst met batchaccounts.
Selecteer Pools in het menuvenster van uw batchaccount en selecteer vervolgens Toevoegen om een batchgroep te maken.
Voer op de pagina Groep toevoegen de volgende instellingen in en selecteer OK.
Naam instelling Instellingswaarde Pool-id De nieuwe naam voor uw pool Type installatiekopie Aangepaste installatiekopieën - Galerie met gedeelde installatiekopieën * Galerie met gedeelde installatiekopieën De naam van de Doel-Azure Compute-galerie die u hebt opgegeven bij het maken van de VM-installatiekopieën Image De naam van de definitie van de VM-installatiekopieën die u hebt opgegeven bij het maken van de VM-installatiekopieën Versie Het versienummer dat u hebt opgegeven bij het maken van de VM-installatiekopieën Besturingssysteem Windows Distributie van besturingssysteem windowsserver SKU van het besturingssysteem De productcode van de versie van het besturingssysteem die u hebt geselecteerd (bijvoorbeeld microsoftwindowsserver-2019-datacenter) * Shared Image Gallery is een andere naam voor Azure Compute Gallery. Dit is een van de resources die zijn gemaakt tijdens het maken van de VM-installatiekopie.
Nadat het batchgroepknooppunt is toegewezen, gaat u naar de pagina batchgroepknooppunt en selecteert u Verbinding maken in het kopmenu.
Selecteer in het deelvenster Verbinding maken de optie Een gebruiker genereren, selecteer de knop Een willekeurige gebruiker genereren en selecteer vervolgens RDP-bestand downloaden.
Voer het gedownloade RDP-bestand uit om verbinding te maken met het nieuwe batchknooppunt.
Test de Python-installatie opnieuw om ervoor te zorgen dat de vooraf geïnstalleerde versie correct werkt.
Verwijzingen
Contacteer ons voor hulp
Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.