Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Dokumentation wird beschrieben, wie HPC SOA-Dienste in einem hybriden HPC Pack-Cluster bereitgestellt und ausgeführt werden, der sowohl lokale Computeknoten als auch Azure IaaS-Computeknoten enthält.
Voraussetzung
Ein Azure-Abonnement.
- Um ein Azure-Abonnement zu erstellen, wechseln Sie zur Azure-Website.
- Um auf ein vorhandenes Abonnement zuzugreifen, wechseln Sie zum Azure Portal.
Eine Standort-zu-Standort-VPN- oder ExpressRoute-Verbindung von Ihrem lokalen Netzwerk zum virtuellen Azure-Netzwerk.
Bereitstellen eines Hybrid HPC Pack-Clusters
Um einen hybriden HPC Pack Cluster bereitzustellen, können Sie iaaS Burst-Funktion aus HPC Pack 2016 Update 1 nutzen. Ausführliche Informationen finden Sie unter Burst to Azure IaaS VM aus einem HPC Pack Cluster .
Bereitstellen von HPC SOA-Diensten in einem Hybrid HPC Pack Cluster
IaaS-Computeknoten sind domänenverbunden
Wenn die IaaS-Computeknoten einer Domäne beigetreten sind, verhält sich der Cluster als lokaler HPC Pack Cluster. Weitere Informationen zu HPC SOA finden Sie in unserer Lernprogrammreihe .
IaaS-Computeknoten sind nicht einer Domäne beigetreten
Wenn die IaaS-Computeknoten nicht mit einer Domäne verknüpfte Computeknoten sind, unterscheidet sich die Möglichkeit zum Bereitstellen eines neuen HPC-SOA-Diensts geringfügig.
Bereitstellen eines neuen HPC SOA-Diensts
Bereitstellen von Dienstbinärdateien
Beim Bereitstellen eines neuen HPC-SOA-Diensts in einem hybriden HPC Pack-Cluster, der nicht domänenverbundene IaaS-Computeknoten enthält, müssen die Dienstbinärdateien in den lokalen Ordner aller Computeknoten platziert werden. (z. B. C:\Services\Sample.dll)
Ändern der Einstellungen in der Dienstregistrierungsdatei
Ändern des Assemblypfads in die lokale Datei auf jedem Computeknoten
<microsoft.Hpc.Session.ServiceRegistration> <!--Change assembly path below--> <service assembly="C:\Services\Sample.dll" /> </microsoft.Hpc.Session.ServiceRegistration>Da domänenidentitäten auf nicht domänenverbundenen Computeknoten nicht verfügbar sind, müssen wir den Sicherheitsmodus zwischen Brokerknoten und Computeknoten
Noneauf festlegen. Fügen Sie den folgenden Abschnitt zur Dienstregistrierungsdatei hinzu, oder ändern Sie vorhandene:<system.serviceModel> <bindings> <netTcpBinding> <!--binding used by broker's backend--> <binding name="Microsoft.Hpc.BackEndBinding" maxConnections="1000"> <!--for non domain joined compute nodes, the security mode should be None--> <security mode="None"/> </binding> </netTcpBinding> </bindings> </system.serviceModel>
Bereitstellen der Dienstregistrierungsdatei
Es gibt zwei Möglichkeiten, die Dienstregistrierungsdatei des neuen SOA-Diensts bereitzustellen.
Bereitstellen der Dienstregistrierungsdatei in jedem lokalen Ordner von Clusterknoten
Um die Dienstregistrierungsdatei auf diese Weise bereitzustellen, müssen wir einen lokalen Dienstregistrierungsordner auf jedem Knoten (z. B. C:\ServiceRegistration) erstellen und der UMGEBUNG des
CCP_SERVICEREGISTRATION_PATHHPC Pack-Clusters hinzufügen.Die Clusterumgebung kann mithilfe des Befehls
cluscfg listenvsauf dem Kopfknoten abgerufen werden und gibt die Ausgabe wie folgt aus:C:\Windows\system32>cluscfg listenvs CCP_SERVICEREGISTRATION_PATH=CCP_REGISTRATION_STORE;\\<headnode>\HpcServiceRegistration HPC_RUNTIMESHARE=\\<headnode>\Runtime$ CCP_MPI_NETMASK=10.0.0.0/255.255.252.0 CCP_CLUSTER_NAME=<headnode>Um die Umgebung zu konfigurieren, verwenden Sie befehl
cluscfg setenvswiecluscfg setenvs CCP_SERVICEREGISTRATION_PATH=CCP_REGISTRATION_STORE;\\<headnode>\HpcServiceRegistration;C:\ServiceRegistrationKopieren Sie dann die Dienstregistrierungsdatei in den neu erstellten lokalen Ordner (z. B. C:\ServiceRegistration\Sample.config)
Weitere Informationen
cluscfgfinden Sie in der Cluscfg-Dokumentation.Weitere Informationen zum Erstellen und Bereitstellen eines neuen SOA-Diensts finden Sie im HPC Pack SOA Tutorial I – Schreiben Sie Ihren ersten SOA-Dienst und -Client.
Bereitstellen der Dienstregistrierungsdatei mithilfe des HA-Konfigurationsdateifeatures
Von HPC Pack Update 1 haben wir die HA-Konfigurationsdateifunktion hinzugefügt, um die Bereitstellung von Dienstregistrierungsdateien in HA-Clustern und in Clustern mit nicht-domänenverbundenen Computeknoten zu unterstützen.
Um dieses Feature zu verwenden, stellen Sie sicher, dass sie
CCP_REGISTRATION_STOREinCCP_SERVICEREGISTRATION_PATHder Clusterumgebung festgelegt ist. Überprüfen Sie das Ergebnis voncluscfg listenvs, es sollte enthalten seinCCP_SERVICEREGISTRATION_PATH=CCP_REGISTRATION_STORE;\\<headnode>\HpcServiceRegistrationWenn der Wert
CCP_REGISTRATION_STOREfehlt, legen Sie ihn wie folgtcluscfg setenvsfest:cluscfg setenvs CCP_SERVICEREGISTRATION_PATH=CCP_REGISTRATION_STORE;\\<headnode>\HpcServiceRegistrationUm eine HA-Konfigurationsdatei hinzuzufügen, wechseln Sie im HPC Pack 2016 Cluster Manager zum Bereich "Konfiguration –> Dienste" und klicken Sie im Aktionsbereich auf "Hoch verfügbare Konfigurationsdatei importieren" . Wählen Sie dann die zu importierende HA-Konfigurationsdatei aus.
Nach dem Importieren wird ein neuer Diensteintrag im Bereich "Dienste" angezeigt, wobei "Hoch verfügbar" auf "True" festgelegt ist.
Verwenden allgemeiner Daten
Von HPC Pack 2016 Update 2 können nicht domänenverbundene Computeknoten SOA Common Data aus Azure Blob Storage direkt lesen, ohne auf die HPC-Runtime-Freigabe zuzugreifen, die sich normalerweise auf dem Kopfknoten befindet. Dadurch können die SOA-Workloads in einem hybriden HPC Pack-Cluster mit in Azure bereitgestellter Computeressource aktiviert werden.
Konfigurieren des HPC Pack-Clusters
Um dieses Feature zu aktivieren, muss eine Azure Storage-Verbindungszeichenfolge im HPC-Cluster konfiguriert werden. Suchen Sie im HPC Pack 2016 Cluster-Manager die Zeichenfolge für die Microsoft Azure-Speicherverbindung in "Configuration –> Deployment To-do List", und geben Sie die richtige Verbindungszeichenfolge ein.
Ändern des SOA-Dienstcodes
Wenn Ihr Dienst aufruft
ServiceContext.GetDataClient, um einen VerweisDataClientvon vorher abzurufen, ist keine Codeänderung erforderlich.Wenn Ihr Dienst stattdessen explizit verwendet
DataClient.Openwird, müssen Sie den Aufruf einer neuen API ändern, wenn Ihr Dienst auf einem Nicht-Domänenverbundknoten ausgeführt wird. Hier ist das Beispiel dafür.// Get Job ID from environment variable string jobIdEnvVar = Environment.GetEnvironmentVariable(Microsoft.Hpc.Scheduler.Session.Internal.Constant.JobIDEnvVar); if (!int.TryParse(jobIdEnvVar, out int jobId)) { throw new InvalidOperationException($"jobIdEnvVar is invalid:{jobIdEnvVar}"); } // Get Job Secret from environment variable string jobSecretEnvVar = Environment.GetEnvironmentVariable(Microsoft.Hpc.Scheduler.Session.Internal.Constant.JobSecretEnvVar); return DataClient.Open(dataClientId, jobId, jobSecretEnvVar);
Weitere Informationen cluscfg finden Sie in der Cluscfg-Dokumentation.
Weitere Informationen zu Azure Storage-Verbindungszeichenfolgen finden Sie unter Konfigurieren von Azure Storage-Verbindungszeichenfolgen.
Weitere Informationen zu HPC SOA Common Data finden Sie im HPC Pack SOA Tutorial IV – Common Data.