web-dev-qa-db-ja.com

ローカル開発者のService Fabricクラスターが作成される場所を指定するにはどうすればよいですか?

私の問題:Service Fabricを学び、簡単なチュートリアルを行っています。ローカルクラスターがCドライブをいっぱいにしています。 Visual Studioでプロジェクトを実行しています。まず、SfDevClusterフォルダーにクラスターを作成します。これには842 MBのスペースが必要です。次に、サービスとWeb APIサイトをデプロイします。これらはほとんど何も含まれていない簡単なチュートリアルです。今、私はサイズ= 1.22 TBおよびディスク上のサイズ9.4 GBのフォルダーを持っていることに気づきました。それをどのように解釈するかわかりません。しかし、それは私の残りのスペースを消費しますCドライブとアラームをオフに設定します。多くのスペースを持つ他のドライブがあります。それらを使用することを指定したいのですが、Visual Studioで使用されるService Fabricクラスターでそれを行う方法はありますか?または、制約する方法はありますか?非常に野心的なサイズの割り当てですか?これを理解できたら、これらの異常なフォルダーサイズの意味を説明できますか?昔は、多くの容量のあるハードドライブがありましたが、今では私の開発用マシンの方がはるかに高速ですが、より高価なSSDドライブであり、スペースは非常に貴重なので、クラスターの場所をより詳細に制御する必要があります。

21
David Allen

PowerShellでDevClusterSetupスクリプトを実行することにより、非システムドライブを指すローカルクラスターをセットアップできます。スクリプトは%programfiles%\Microsoft SDKs\Service Fabric\ClusterSetup\にあります。必要なコマンドラインは次のとおりです。

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

すでにクラスターを実行している場合、このスクリプトはそれを削除して新しいクラスターを作成します(これにより、デプロイされたアプリとそのデータが削除されることに注意してください)。新しいクラスターを実行すると、Visual Studioはローカルに展開するときに自動的にそれを使用します。

ファイルサイズについては、これは主に、信頼できるコレクションに格納されている状態のレプリケーションに使用されるログファイルが原因です。大きな スパースファイル は事前に事前に割り当てられているため、ディスク上のサイズとサイズの違いがわかります。これらの値を構成可能にして、ローカルクラスターでダイヤルダウンできるようにする予定です。

43
Sean McKenna

Service Fabric SDKフォルダー(C:\ Program Files\Microsoft SDKs\ServiceFabric)には、ClusterSetupフォルダーがあります。

そこには、ローカルクラスターのさまざまな構成用のClusterManifestTemplate.jsonファイルがあります。これらは、ローカルサービスファブリッククラスターを作成および管理するPowerShellスクリプトによって使用されるJSON構成ファイルです。

これらのファイルの下部にある「fabricSettings」では、「%systemDrive%」に基づいて、FabricDataRootおよびFabricLogRootの値を設定しています。これを「D:」に置き換えると、Dドライブにローカルクラスターが作成されます。

これらの変更を行った後、ローカルファブリックを停止し、Cドライブから現在のファブリックフォルダーを削除して、マシンを再起動しました。その後、VS.2017でデバッグセッションを開始すると、Dドライブにローカル開発ファブリックが作成され、その場所にアプリケーションが展開されます。 (Cドライブにいくつかの空のフォルダーが作成されていますが、これらは使用されていません。)

12
Geert Depickere

また、ローカルクラスタをたまにリセットすることもできます。

Service Fabric Local Cluster Managerアプリケーションを使用して簡単に実行できます。

sf reset local cluster

0
Stef Heyenrath