Wie kann ich angeben, wo der Service-Fabric-Cluster meines lokalen Entwicklers erstellt wird?

8

Mein Problem: Ich lerne Service Fabric und mache einfache Tutorials, und der lokale Cluster füllt mein C-Laufwerk. Ich führe die Projekte in Visual Studio. Es erstellt zuerst einen Cluster in einem Ordner SfDevCluster. Das sind 842 MB Speicherplatz. Dann stellt es die Dienste und Web-API-Sites bereit. Denken Sie daran, dies sind triviale Tutorials mit fast nichts in ihnen. Jetzt bemerke ich, dass ich einen Ordner mit einer Größe von 1,22 TB und einer Größe von 9,4 GB auf der Festplatte habe. Ich bin mir nicht sicher, wie ich das interpretiere. Aber es verbraucht den verbleibenden Speicherplatz auf meinem C-Laufwerk und löst Alarme aus. Ich habe andere Laufwerke mit viel Platz. Ich würde gerne angeben, dass diese verwendet werden. Gibt es eine Möglichkeit, das mit dem von Visual Studio verwendeten Service Fabric-Cluster zu tun? Oder gibt es eine Möglichkeit, die allzu ehrgeizigen Größenzuweisungen zu beschränken? Und wenn Sie das verstehen, können Sie erklären, was diese ungewöhnlichen Ordnergrößen bedeuten? In den alten Tagen hätte ich eine Festplatte mit viel Platz. Aber jetzt hat meine Entwicklermaschine ein viel schnelleres, aber teures SSD-Laufwerk, und der Platz ist knapp. Also brauche ich mehr Kontrolle über den Cluster-Standort.

    
David Allen 23.01.2016, 04:33
quelle

2 Antworten

23

Sie können einen lokalen Cluster einrichten, der auf ein Nicht-Systemlaufwerk verweist, indem Sie das DevClusterSetup-Skript in PowerShell ausführen. Sie finden das Skript unter %programfiles%\Microsoft SDKs\Service Fabric\ClusterSetup\ . Die gewünschte Befehlszeile lautet:

.\DevClusterSetup.ps1 -PathToClusterDataRoot <desired_app_and_data_location> -PathToClusterLogRoot <desired_tracelog_location>

Wenn bereits ein Cluster ausgeführt wird, entfernt dieses Skript es und erstellt ein neues (beachten Sie, dass dadurch alle bereitgestellten Apps und ihre Daten gelöscht werden). Sobald Sie den neuen Cluster ausgeführt haben, verwendet Visual Studio diesen bei der lokalen Bereitstellung automatisch.

Was die Dateigrößen anbelangt - dies ist hauptsächlich auf die Protokolldatei zurückzuführen, die für die Replikation des in zuverlässigen Sammlungen gespeicherten Zustands verwendet wird. Eine große, Datei mit wenig Speicherplatz ist bereits vorab zugeordnet. Front, weshalb Sie einen Unterschied zwischen Größe und Größe auf der Festplatte sehen. Wir planen, diese Werte konfigurierbar zu machen, so dass sie auf lokalen Clustern ausgewählt werden können.

    
Sean McKenna - MSFT 26.01.2016, 18:59
quelle
4

Im Service Fabric SDK-Ordner (C: \ Programme \ Microsoft SDKs \ ServiceFabric) finden Sie einen ClusterSetup-Ordner.

Dort finden Sie ClusterManifestTemplate.json Dateien für die verschiedenen Konfigurationen des lokalen Clusters. Dies sind json-Konfigurationsdateien, die von den Powershell-Skripten verwendet werden, die den lokalen Service-Fabric-Cluster erstellen und verwalten.

Am Ende dieser Dateien wird in "fabricSettings" der Wert von FabricDataRoot und FabricLogRoot basierend auf "% systemDrive%" festgelegt. Wenn Sie dies durch "D:" ersetzen, sollte dies zu einem lokalen Cluster auf dem Laufwerk D führen.

Nachdem ich diese Änderungen vorgenommen hatte, stoppte ich meine lokale Fabric, löschte die aktuellen Fabric-Ordner von meinem C-Laufwerk und startete meinen Rechner neu. Wenn ich dann eine Debugsitzung in VS.2017 starte, erstellt es die lokale Entwicklungsumgebung auf meinem D-Laufwerk und stellt die Anwendung an diesem Speicherort bereit. (Ich bemerke, dass einige leere Ordner auf meinem C-Laufwerk erstellt wurden, diese aber nicht verwendet werden.)

    
Geert Depickere 19.09.2017 07:24
quelle

Tags und Links