2017-02-18 2 views
1

У меня есть кластер рабочей ткани и 3 узла созданы в 3 системах и связаны между собой. Я могу подключить каждый из узлов. Эти узлы создаются на сервере Windows. Эти Windows Server (виртуальные машины) находятся в рабочем состоянии.Service Fabric Application PackageDeployment Operation Time Out исключение

Вручную, я пытаюсь развернуть мой пакет в свой кластер/один из узлов, я получаю Исключение тайм-аута операции. Я использовал ниже команды для выполнения для развертывания.

Service Fabric Сила команды оболочки:

Copy-ServiceFabricApplicationPackage -ApplicationPackagePath 'c:\sample\etc'  -ApplicationPackagePathInImageStore 'abc.app.portaltype' 

после выполнения команды выше он работает в течение 2 -3 мин и броски Операция таймаута исключение. Мой размер пакета составляет почти 250 МБ, и в моем пакете существует около 15000 файлов. после этого я передал дополнительный параметр -TimeOutSec до 600 (10 минут) явно в приведенной выше команде, после чего он успешно выполнил и скопировал его в сервисную модель.

Register-ServiceFabricApplicationType -ApplicationPathInImageStore 'abc.app.portaltype' 

после выполнения команды Copy-ServiceFabricApplicationPackage, я выполнил выше команды Register-ServiceFabricApplicationType зарегистрировать свой ин cluster.but также бросает операции исключение тайм-аута тогда я прошел дополнительный параметр -TimeOutSec 600 (10mins) явно в приведенной выше команде, но не повезло, что он выбрал такой же исключение тайм-аута операции.

Просто для того, чтобы убедиться в том, что эта проблема с таймаутом не связана с отсутствием файлов в пакете или нет. я создал простую базовую утилиту asp.net и созданный пакет, и попытаюсь развернуть на том же сервере с использованием вышеприведенной команды, развернутой с долей секунды, и она работает плавно.

У кого-нибудь есть идеи, как справиться с проблемой тайм-аута работы службы?

Как справиться с проблемой тайм-аута операции, если пакет содержит большой набор файлов?

Любая помощь/предложение были бы очень оценены.

Спасибо,

ответ

0

Если это занимает больше времени, чем 10 минуты по умолчанию макс это, вероятно, один из следующих вопросов:

  1. Больших пакетов прикладных программ (> 100s мегабайт)
  2. Медленных сетевых подключений
  3. Большое количество файлов в пакете приложений (> 1000).

Следующие обходные пути помогут вам.

Добавьте следующие параметры в кластерной конфигурации:

"fabricSettings": [ { "name": "NamingService", "parameters": [ { "name": "MaxOperationTimeout", "value": "3600" }, ] } ]

добавить также:

"fabricSettings": [ { "name": "EseStore", "parameters": [ { "name": "MaxCursors", "value": "32768" }, ] } ]

Там есть пара дополнительных функций, которые в настоящее время выкатывания. Чтобы они присутствовали и были функциональными, вы должны быть уверены, что клиент не менее 2.4.28, а время работы вашего кластера не менее 5.4.157. Если вы будете в курсе последних событий, они должны присутствовать в вашей среде.

Для регистрации вы можете указать флаг -Async, который будет обрабатывать асинхронную загрузку, уменьшая потребность в таймауте только на время, необходимое для отправки команды, а не в пакет приложения. Вы также можете запросить статус регистрации с помощью Get-ServiceFabricApplicationType. 5.5 исправляет некоторые проблемы с этими командами, поэтому, если они не работают на вас, вам придется подождать, пока эта версия попадет в вашу среду.