2016-06-17 1 views
5

I имеют конфигурацию кластера с двумя типами узлов, указанных в ServiceManifest.xmlКак настроить локальную кластер для Addtional типов узлов

<?xml version="1.0" encoding="utf-8"?> 
<ServiceManifest Name="MKopa.M2M.ConfigurationPkg" 
       Version="1.0.0" 
       xmlns="http://schemas.microsoft.com/2011/01/fabric" 
       xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <ServiceTypes> 
    <!-- This is the name of your ServiceType. 
     This name must match the string used in RegisterServiceType call in Program.cs. --> 
    <StatelessServiceType ServiceTypeName="ConfigurationType"> 
     <PlacementConstraints>(NodeType == Internal)</PlacementConstraints> 
    </StatelessServiceType> 
    </ServiceTypes> 

    <!-- Code package is your service executable. --> 
    <CodePackage Name="Code" Version="1.0.0"> 
    <EntryPoint> 
     <ExeHost> 
     <Program>MKopa.M2M.Configuration.Service.exe</Program> 
     </ExeHost> 
    </EntryPoint> 
    </CodePackage> 

    <!-- Config package is the contents of the Config directoy under PackageRoot that contains an 
     independently-updateable and versioned set of custom configuration settings for your service. --> 
    <ConfigPackage Name="Config" Version="1.0.0" /> 

    <Resources> 
    <Endpoints> 
     <!-- This endpoint is used by the communication listener to obtain the port on which to 
      listen. Please note that if your service is partitioned, this port is shared with 
      replicas of different partitions that are placed in your code. --> 
     <Endpoint Name="ServiceEndpoint" /> 
     <Endpoint Name="HttpEndpoint" Protocol="http" Port="8081"/> 
    </Endpoints> 
    </Resources> 
</ServiceManifest> 

Мой вопрос, что это приводит к тому, развертывание в локальном кластере потерпеть неудачу, так как это NodeType не существует в локальном кластере.

Я видел упоминание файла cluster.xml, и я нашел его, но внесение изменений в него, похоже, не имеет никакого эффекта. Я попробовал сброс, запуск и остановку, но сброс отменяет изменения.

Вот надеется, что ответ не запуская службы динамически :-)

ответ

6

Я не знаю, как это работает, пока кластер работает, но я был в состоянии сделать это повторно установить локальный кластер. Это были мои шаги:

  • Перейти к C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\
  • Удаление существующего кластера, вызвав .\CleanCluster.ps1
  • Создать резервную копию файла C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\NonSecure\ClusterManifestTemplate.xml
  • Теперь вы можете настроить этот файл и добавить свойства размещения в каждом узле :
<NodeType ...> 
    <Endpoints>...</Endpoints> 
    <PlacementProperties> 
    <Property Name="NodeType" Value="Internal" /> 
    </PlacementProperties> 
</NodeType> 
  • Пересоздайте кластера, вызвав .\DevClusterSetup.ps1
+0

Это работало удовольствие! –

+0

Если вы работаете в Win7, убедитесь, что вы изменяете шаблон ClusterManifestTemplate_Win7.xml. – Creamstout10

+0

Есть ли способ добавить дополнительный пункт меню в «Service Fabric Local Cluster Manager» для моих собственных конфигураций? –

 Смежные вопросы

  • Нет связанных вопросов^_^