Een ML Services-cluster operationeel maken op Azure HDInsight
Belangrijk
Deze inhoud wordt niet meer gebruikt en wordt in de toekomst niet meer bijgewerkt. Azure HDInsight clustertype 3.6 ML Services (Machine Learning Server) is vanaf 31 december 2020 niet meer gebruikt.
Nadat u het cluster ML Services in HDInsight hebt gebruikt om uw gegevensmodel te voltooien, kunt u het model operationeel maken om voorspellingen te doen. Dit artikel bevat instructies voor het uitvoeren van deze taak.
Vereisten
Een ML Services-cluster beheren in HDInsight. Zie Apache Hadoop-clusters maken met behulp van Azure Portal en selecteer ML Services voor Clustertype.
Een SSH-client (Secure Shell): er wordt een SSH-client gebruikt om extern verbinding te maken met het HDInsight-cluster en om opdrachten rechtstreeks uit te voeren op het cluster. Zie SSH gebruiken met HDInsight voor meer informatie.
Een ML Services-cluster operationeel maken met een een box-configuratie
Notitie
De onderstaande stappen zijn van toepassing op R Server 9.0 en ML Server 9.1. Voor ML Server 9.3 raadpleegt u Use the administration tool to manage the operationalization configuration (Het beheerprogramma gebruiken om de operationalisatieconfiguratie te beheren).
SSH op het Edge-knooppunt.
ssh USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.netZie SSH gebruiken met HDInsight voor instructies Azure HDInsight het gebruik van SSH met HDInsight..
Wijzig de map voor de relevante versie en sudo de dot net dll:
Voor Microsoft ML Server 9.1:
cd /usr/lib64/microsoft-r/rserver/o16n/9.1.0 sudo dotnet Microsoft.RServer.Utils.AdminUtil/Microsoft.RServer.Utils.AdminUtil.dllVoor Microsoft R Server 9.0:
cd /usr/lib64/microsoft-deployr/9.0.1 sudo dotnet Microsoft.DeployR.Utils.AdminUtil/Microsoft.DeployR.Utils.AdminUtil.dll
U krijgt de opties om uit te kiezen. Kies de eerste optie, zoals wordt weergegeven in de volgende schermopname, om ML Server configureren voor operationalisatie.
U krijgt nu de optie om te kiezen hoe u uw ML Server. Kies in de weergegeven opties het eerste door A in te geven.
Wanneer u hier om wordt gevraagd, voert u het wachtwoord voor een lokale beheerder in en voert u het opnieuw in.
Als het goed is, ziet u uitvoer die erop wijst dat de bewerking is geslaagd. U wordt ook gevraagd een andere optie te selecteren in het menu. Selecteer E om terug te gaan naar het hoofdmenu.
Optioneel kunt u diagnostische controles uitvoeren door als volgt een diagnostische test uit te voeren:
a. Selecteer in het hoofdmenu 6 om diagnostische tests uit te voeren.
b. Selecteer A in het menu Diagnostische tests. Wanneer u hier om wordt gevraagd, voert u het wachtwoord in dat u hebt opgegeven voor de lokale beheerder.
c. Controleer of de uitvoer laat zien dat de algehele status een pass is.
d. Voer in de weergegeven menuopties E in om terug te keren naar het hoofdmenu en voer vervolgens 8 in om het beheerprogramma af te sluiten.
Lange vertragingen bij het gebruik van webservice op Apache Spark
Als u lange vertragingen ondervindt bij het gebruik van een webservice die is gemaakt met de functies mevrdeploy in een Apache Spark compute-context, moet u mogelijk enkele ontbrekende mappen toevoegen. De Spark-toepassing is van een gebruiker met de naam rserve2 wanneer de toepassing wordt aangeroepen vanuit een webservice met behulp van mrsdeploy-functies. Dit probleem omzeilen:
# Create these required folders for user 'rserve2' in local and hdfs:
hadoop fs -mkdir /user/RevoShare/rserve2
hadoop fs -chmod 777 /user/RevoShare/rserve2
mkdir /var/RevoShare/rserve2
chmod 777 /var/RevoShare/rserve2
# Next, create a new Spark compute context:
rxSparkConnect(reset = TRUE)
In dit stadium is de configuratie voor uitoefening voltooid. U kunt nu het pakket op uw RClient gebruiken om verbinding te maken met de operationalisatie op het Edge-knooppunt en de functies ervan te gebruiken, zoals externe uitvoering mrsdeploy en webservices. Afhankelijk van of het cluster is ingesteld in een virtueel netwerk of niet, moet u mogelijk forward tunneling via SSH-aanmelding instellen voor de poort. In de volgende secties wordt uitgelegd hoe u deze tunnel instelt.
ML Services-cluster in een virtueel netwerk
Zorg ervoor dat u verkeer via poort 12800 naar het Edge-knooppunt toestaat. Op deze manier kunt u het Edge-knooppunt gebruiken om verbinding te maken met de functie Uitoefening.
library(mrsdeploy)
remoteLogin(
deployr_endpoint = "http://[your-cluster-name]-ed-ssh.azurehdinsight.net:12800",
username = "admin",
password = "xxxxxxx"
)
Als de remoteLogin() geen verbinding kan maken met het Edge-knooppunt maar als u wel verbinding hebt via SSH, moet u controleren of de regel op basis waarvan verkeer via poort 12800 is toegestaan, juist is ingesteld of niet. Als dit probleem zich blijft voordoen, kunt u een tijdelijke oplossing gebruiken door forward tunneling via SSH in te stellen voor de poort. Zie de volgende sectie voor instructies:
ML Services-cluster is niet ingesteld in een virtueel netwerk
Als het cluster niet is ingesteld in het virtuele netwerk vnet of als u problemen ondervindt met de connectiviteit via dit netwerk, kunt u forward tunneling via SSH instellen voor de poort:
ssh -L localhost:12800:localhost:12800 USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.net
Zodra uw SSH-sessie actief is, wordt het verkeer van poort 12800 van uw lokale computer via een SSH-sessie doorgestuurd naar poort 12800 van het edge-knooppunt. Zorg ervoor dat u 127.0.0.1:12800 gebruikt in de remoteLogin()-methode. Hiermee wordt u via een port forwarding.
library(mrsdeploy)
remoteLogin(
deployr_endpoint = "http://127.0.0.1:12800",
username = "admin",
password = "xxxxxxx"
)
Ge operationaliseerde rekenknooppunten op HDInsight-werkknooppunten schalen
Als u de rekenknooppunten wilt schalen, moet u eerst de werkknooppunten uit bedrijf nemen en vervolgens rekenknooppunten configureren op de uit bedrijf genomen werkknooppunten.
Stap 1: de werkknooppunten uit bedrijf nemen
ML Services-cluster wordt niet beheerd via Apache Hadoop YARN. Als de werkknooppunten niet uit bedrijf worden genomen, werkt de YARN-Resource Manager niet zoals verwacht, omdat het niet op de hoogte is van de resources die door de server worden ingenomen. Om deze sitatie te voorkomen raden we u aan de werkknooppunten uit bedrijf te nemen voordat u de rekenknooppunten uitschaalt.
Volg deze stappen om werkknooppunten uit bedrijf te nemen:
Meld u aan bij de Ambari-console van het cluster en klik op het tabblad Hosts.
Selecteer werkknooppunten (die buiten gebruik moeten worden gesteld).
Klik op Acties Geselecteerde hosts > > Hosts schakelen > onderhoudsmodus in. In de volgende afbeelding zijn bijvoorbeeld wk3 en wk4 geselecteerd om uit bedrijf te worden genomen.
- Selecteer Acties Geselecteerde > hosts > DataNodes en > op Uit bedrijf nemen.
- Selecteer Acties Geselecteerde > hosts > NodeManagers en > op Uit bedrijf nemen.
- Selecteer Acties Geselecteerde > hosts > DataNodes en > op Stoppen.
- Selecteer Acties Geselecteerde > hosts > NodeManagers en > op Stoppen.
- Selecteer Acties Geselecteerde hosts hosts > > en > op Alle onderdelen stoppen.
- Hef de selectie van de worker-knooppunten op en selecteer de hoofdknooppunten.
- Selecteer Acties Geselecteerde hosts > > ' Hosts starten alle onderdelen opnieuw > op.
Stap 2: rekenknooppunten configureren op elk uit bedrijf genomen werkknooppunt(en)
SSH op elk uit bedrijf genomen werkknooppunt.
Voer het beheerprogramma uit met behulp van de relevante DLL voor het ML Services-cluster dat u hebt. Voer ML Server 9.1 het volgende uit:
dotnet /usr/lib64/microsoft-deployr/9.0.1/Microsoft.DeployR.Utils.AdminUtil/Microsoft.DeployR.Utils.AdminUtil.dllVoer 1 in om de optie Configureren ML Server voor operationalisatie te selecteren.
Voer C in om optie te
C. Compute nodeselecteren. Hiermee configureert u het rekenknooppunt op het werkknooppunt.Sluit het beheerprogramma.
Stap 3: details van rekenknooppunten toevoegen aan webknooppunt
Zodra alle uit bedrijf genomen werkknooppunten zijn geconfigureerd om het rekenknooppunt uit te voeren, gaat u terug naar het edge-knooppunt en voegt u de IP-adressen van uit bedrijf genomen werkknooppunten toe in de configuratie van het ML Server-webknooppunt:
SSH op het Edge-knooppunt.
Voer
vi /usr/lib64/microsoft-deployr/9.0.1/Microsoft.DeployR.Server.WebAPI/appsettings.jsonuit.Zoek naar de sectie Uris en voeg de IP- en poortgegevens van het werk knooppunt toe.
"Uris": { "Description": "Update 'Values' section to point to your backend machines. Using HTTPS is highly recommended", "Values": [ "http://localhost:12805", "http://[worker-node1-ip]:12805", "http://[workder-node2-ip]:12805" ] }