Azure service fabric 如何指定我的本地开发人员';s服务结构群集是否已创建?

Azure service fabric 如何指定我的本地开发人员';s服务结构群集是否已创建?,azure-service-fabric,Azure Service Fabric,我的问题是:我正在学习ServiceFabric,做一些简单的教程,本地集群正在填满我的C驱动器。我在VisualStudio中运行这些项目。它首先在文件夹SfDevCluster中创建一个集群。这将占用842MB的空间。然后部署服务和web api站点。请记住,这些都是琐碎的教程,几乎没有任何内容。现在,我注意到我有一个大小为1.22 TB的文件夹,磁盘大小为9.4 GB。我不知道该怎么解释。但它会占用我的C驱动器上的剩余空间并触发警报。 我有很多空间的其他驱动器。我想具体说明使用这些工具。有

我的问题是:我正在学习ServiceFabric,做一些简单的教程,本地集群正在填满我的C驱动器。我在VisualStudio中运行这些项目。它首先在文件夹SfDevCluster中创建一个集群。这将占用842MB的空间。然后部署服务和web api站点。请记住,这些都是琐碎的教程,几乎没有任何内容。现在,我注意到我有一个大小为1.22 TB的文件夹,磁盘大小为9.4 GB。我不知道该怎么解释。但它会占用我的C驱动器上的剩余空间并触发警报。 我有很多空间的其他驱动器。我想具体说明使用这些工具。有没有一种方法可以通过VisualStudio使用的服务结构集群实现这一点?还是有办法限制过于雄心勃勃的规模分配?如果你明白这一点,你能解释一下这些不寻常的文件夹大小意味着什么吗?
在过去,我会有一个有很多空间的硬盘。但现在,我的开发人员机器有一个更快但更昂贵的SSD驱动器,而且空间也很宝贵。所以我需要更多地控制集群的位置

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

\DevClusterSetup.ps1-PathToClusterDataRoot-PathToClusterLogRoot

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


至于文件大小,这主要是由于用于复制存储在可靠集合中的状态的日志文件。一个大的磁盘是预先分配的,这就是为什么您会看到大小和磁盘大小之间的差异。我们计划对这些值进行配置,以便在本地群集上拨号。

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

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

在这些文件的底部,在“fabricSettings”中,它根据“%systemDrive%”设置FabricDataRoot和FabricLogRoot的值。如果将其替换为“D:”,则应在D驱动器上生成一个本地群集


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

您还可以偶尔重置本地群集

可以使用
服务结构本地群集管理器
应用程序轻松完成:


为了帮助刚刚完成我所做的工作的人,这需要在x64 powershell中运行,因为adminWorks很好,但它最终会变回默认文件夹。为什么?我也把它重置回我的C盘了,@RaulKist。我想这是因为我使用了Service Fabric Local Cluster Manager(即任务栏中可以右键单击的圆圈)来重置,而不是上面的脚本。因此,无论何时重置,都应始终使用上述命令。@rrreee,我使用了脚本:(可能他们修复了它。我应该重新尝试一下。请看下面解决路径重置问题:我尝试了dew选项(也希望避免它吃掉我的SSD),我发现的最佳选项是使用目录符号链接(
mklink/D
)是的。它仍然适用于em 2021。请注意,有1节点和5节点json文件需要更新。