Zprovoznit cluster ML Services na Azure HDInsight

Důležité

Tento obsah je vyřazený a v budoucnu se nebude aktualizovat. Typ clusteru služeb Azure HDInsight 3,6 ML (Machine Learning Server) byl vyřazen od 31. prosince 2020.

Jakmile použijete cluster ML Services v HDInsight k dokončení modelování dat, můžete model zprovoznit a vytvořit předpovědi. Tento článek obsahuje pokyny k provedení této úlohy.

Požadavky

Zprovoznit cluster ML Services s konfigurací one-box

Poznámka

Následující kroky se vztahují na R Server 9.0 a ML Server 9.1. Další ML Server 9.3 najdete v tématu Použití nástroje pro správu ke správě konfigurace zprovoznění.

  1. Připojte se přes SSH k hraničnímu uzlu.

    ssh USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.net
    

    Pokyny k použití SSH s Azure HDInsight najdete v tématu Použití SSH se službou HDInsight..

  2. Změňte adresář pro příslušnou verzi a sudo dot net dll:

    • Pro 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.dll
      
    • Pro Microsoft R Server 9.0:

      cd /usr/lib64/microsoft-deployr/9.0.1
      sudo dotnet Microsoft.DeployR.Utils.AdminUtil/Microsoft.DeployR.Utils.AdminUtil.dll
      
  3. Zobrazí se možnosti, ze které si můžete vybrat. Zvolte první možnost, jak je znázorněno na následujícím snímku obrazovky, a nakonfigurujte ML Server pro operationalizaci.

    Výběr nástroje pro správu R Serveru

  4. Teď máte možnost zvolit, jak chcete zprovoznit ML Server. V prezentovaných možnostech vyberte první z nich zadáním A.

    Zprovoznit nástroj pro správu R Serveru

  5. Po zobrazení výzvy zadejte a znovu zadejte heslo místního správce.

  6. Měly by se zobrazit výstupy, které naznačují, že operace byla úspěšná. Zobrazí se také výzva k výběru jiné možnosti z nabídky. Výběrem možnosti E se vraťte do hlavní nabídky.

    Úspěch nástroje pro správu R Serveru

  7. Volitelně můžete diagnostické kontroly provést spuštěním diagnostického testu následujícím způsobem:

    a. V hlavní nabídce vyberte 6 a spusťte diagnostické testy.

    Diagnostika nástroje pro správu R Serveru

    b. V nabídce Diagnostické testy vyberte A. Po zobrazení výzvy zadejte heslo, které jste poskytli uživateli místního správce.

    Test nástrojů pro správu R Serveru

    c. Ověřte, že výstup ukazuje, že celkový stav je pass.

    Průchod nástroje pro správu R Serveru

    d. V uvedených možnostech nabídky zadejte E, abyste se vrátili do hlavní nabídky, a pak zadáním 8 ukončete nástroj pro správu.

Dlouhá zpoždění při využívání webové služby na Apache Spark

Pokud při pokusu o používání webové služby vytvořené pomocí funkcí mrsdeploy v Apache Spark výpočetním kontextu dochází k dlouhým zpožděním, možná budete muset přidat některé chybějící složky. Pokaždé, když je aplikace Spark vyvolaná z webové služby pomocí funkcí mrsdeploy, patří uživateli rserve2. Náhradní řešení tohoto problému:

# 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)

V této fázi je konfigurace operacionalizace dokončena. Teď se můžete pomocí balíčku v RClient připojit k zprovoznění na hraničním uzlu a začít používat jeho funkce, jako je vzdálené spouštění a mrsdeploy webové služby. V závislosti na tom, jestli je váš cluster nastavený ve virtuální síti, může být potřeba nastavit přesměrování portu tunelovým propojením přes přihlášení SSH. Následující části vysvětlují, jak tento tunel nastavit.

cluster ML Services ve virtuální síti

Ověřte, že je na hraničním uzlu povolený provoz přes port 12800. Tímto způsobem můžete hraniční uzel použít pro připojení k funkci operacionalizace.

library(mrsdeploy)

remoteLogin(
    deployr_endpoint = "http://[your-cluster-name]-ed-ssh.azurehdinsight.net:12800",
    username = "admin",
    password = "xxxxxxx"
)

Pokud se metoda remoteLogin() nemůže připojit k hraničnímu uzlu, ale můžete se k němu připojit přes SSH, budete muset ověřit, jestli je správně nastavené pravidlo pro povolení provozu na portu 12800. Pokud bude tento problém přetrvávat, můžete jako alternativní řešení použít nastavení přesměrování portu tunelovým propojením přes SSH. Pokyny najdete v následující části:

cluster ML Services není nastavený ve virtuální síti

Pokud váš cluster není nastavený ve virtuální síti nebo máte potíže s připojením přes virtuální síť, můžete použít přesměrování portu tunelovým propojením přes SSH:

ssh -L localhost:12800:localhost:12800 USERNAME@CLUSTERNAME-ed-ssh.azurehdinsight.net

Jakmile je relace SSH aktivní, provoz z portu 12800 místního počítače se přes SSH přesoulá na port 12800 hraničního uzlu. Nezapomeňte v metodě remoteLogin() použít adresu 127.0.0.1:12800. Tím se přihlásíte k zprovoznění hraničního uzlu prostřednictvím přesměrování portů.

library(mrsdeploy)

remoteLogin(
    deployr_endpoint = "http://127.0.0.1:12800",
    username = "admin",
    password = "xxxxxxx"
)

Škálování zprovozněných výpočetních uzlů na pracovních uzlech HDInsight

Pokud chcete škálovat výpočetní uzly, musíte nejprve vyřazení pracovních uzlů z provozu a potom nakonfigurovat výpočetní uzly na vyřazených pracovních uzlech.

Krok 1: Vyřazení pracovních uzlů z provozu

ML Services se nespravuje prostřednictvím Apache Hadoop YARN. Pokud nejsou pracovní uzly vyřazeny z provozu, rozhraní YARN Resource Manager nefunguje podle očekávání, protože si není vědomo prostředků, které server zachytává. Abyste této situaci zabránili, doporučujeme před horizontálním navýšením kapacity výpočetních uzlů vyřadit z provozu pracovní uzly.

Pokud chcete vyřazení pracovních uzlů z provozu, postupujte následovně:

  1. Přihlaste se ke konzole Ambari clusteru a klikněte na kartu Hostitelé.

  2. Vyberte pracovní uzly (které se vyřazeny z provozu).

  3. Klikněte na Akce > Vybraní > hostitelé > Zapnout režim údržby. Například na následujícím obrázku jsme vybrali k vyřazení z provozu uzly wn3 a wn4.

    Zapnutí režimu údržby Apache Ambari

  • Vyberte Akce > Vybraní hostitelé > DataNodes a > na Vyřazení z provozu.
  • Vyberte Akce > Vybraní > hostitelé NodeManagers a > na Vyřazení z provozu.
  • Vyberte Actions Selected Hosts DataNodes (Akce > vybrané hostitele > DataNode) > na Stop (Zastavit).
  • Vyberte Actions Selected Hosts NodeManagers (Akce > vybrané > hostitele> klikněte na Stop (Zastavit).
  • Vyberte Akce > Vybraní > hostitelé Hostitelé a > na Zastavit všechny součásti.
  • Zrušte výběr pracovních uzlů a vyberte hlavní uzly.
  • Vyberte Akce > Vybraní hostitelé >Hostitelé > Restartujte všechny součásti.

Krok 2: Konfigurace výpočetních uzlů na jednotlivých vyřazených pracovních uzlech

  1. Přihlaste se přes SSH do každého vyřazeného pracovního uzlu.

  2. Spusťte nástroj pro správu pomocí příslušné knihovny DLL pro cluster ML Services, který máte. Pokud ML Server 9.1, spusťte následující příkaz:

    dotnet /usr/lib64/microsoft-deployr/9.0.1/Microsoft.DeployR.Utils.AdminUtil/Microsoft.DeployR.Utils.AdminUtil.dll
    
  3. Zadáním 1 vyberte možnost Konfigurovat ML Server pro operationalizaci.

  4. Zadáním C vyberte možnost C. Compute node . Tím se na pracovním uzlu nakonfiguruje výpočetní uzel.

  5. Ukončete nástroj pro správu.

Krok 3: Přidání podrobností o výpočetních uzlech do webového uzlu

Jakmile jsou všechny vyřazené pracovní uzly nakonfigurované tak, aby spouštěly výpočetní uzel, vraťte se na hraniční uzel ML Server přidejte IP adresy vyřazených pracovních uzlů do konfigurace webového uzlu ML Server:

  1. Připojte se přes SSH k hraničnímu uzlu.

  2. Spusťte vi /usr/lib64/microsoft-deployr/9.0.1/Microsoft.DeployR.Server.WebAPI/appsettings.json.

  3. Vyhledejte část Identifikátory URI a přidejte podrobnosti o IP adrese a portu pracovního uzlu.

    "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"
        ]
    }
    

Další kroky