如何指定本地开发人员的服务结构群集的创建位置?

时间:2016-01-23 04:33:40

标签: azure-service-fabric

我的问题:我正在学习Service Fabric,并且做了简单的教程,本地群集正在填满我的C盘。我在Visual Studio中运行项目。它首先在文件夹SfDevCluster中创建一个集群。这需要842 MB的空间。然后它部署服务和web api站点。请记住,这些都是琐碎的教程,几乎没有任何内容。现在,我注意到我有一个文件夹,其大小= 1.22 TB,磁盘大小为9.4 GB。我不确定如何解释。但它消耗了我的C盘上的剩余空间并引发了警报。 我有其他驱动器有很多空间。我想指出那些被使用。有没有办法使用Visual Studio使用的服务结构集群?或者有没有办法限制过于雄心勃勃的大小分配?如果你理解这一点,你能解释这些不寻常的文件夹大小是什么意思吗? 在过去,我会有一个有很大空间的硬盘。但是现在,我的开发人员机器拥有更快,但更昂贵的SSD驱动器,并且空间非常宝贵。所以我需要更多地控制集群位置。

3 个答案:

答案 0 :(得分:38)

您可以通过在PowerShell中运行DevClusterSetup脚本来设置指向非系统驱动器的本地群集。您可以在%programfiles%\Microsoft SDKs\Service Fabric\ClusterSetup\下找到该脚本。您想要的命令行是:

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

如果您已经在运行集群,则此脚本将删除它并创建一个新集群(请注意,这将删除所有已部署的应用及其数据)。一旦新集群运行,Visual Studio将在您本地部署时自动使用它。

至于文件大小 - 这主要是由于用于复制存储在可靠集合中的状态的日志文件。预先分配一个大的sparse file,这就是为什么你会看到磁盘大小和大小不同的原因。我们计划将这些值配置为可以在本地群集上拨打它们。

答案 1 :(得分:9)

在Service Fabric SDK文件夹(C:\ Program Files \ Microsoft SDKs \ ServiceFabric)中,您将找到ClusterSetup文件夹。

在那里,您将找到本地群集的不同配置的ClusterManifestTemplate.json文件。这些是创建和管理本地服务结构集群的powershell脚本使用的json配置文件。

在这些文件的底部,在&#34; fabricSettings&#34;它根据&#34;%systemDrive%&#34;设置FabricDataRoot和FabricLogRoot的值。如果用&#34; D替换它:&#34;它应该导致D驱动器上的本地群集。

进行这些更改后,我停止了本地结构,从C驱动器中删除了当前结构文件夹,然后重新启动了我的计算机。当我在VS.2017中启动调试会话时,它会在我的D驱动器上创建本地开发结构,并将应用程序部署到该位置。 (我注意到在我的C驱动器上创建了一些空文件夹但没有使用它们。)

答案 2 :(得分:0)

您还可以做的是不时重置本地群集。

可以使用{{1}}应用程序轻松完成:

sf reset local cluster