Отказано в доступе при попытке запустить кластер кеширования appfabric из PowerShell

У меня есть код, который использует appfabric и выдает ошибки недоступности сервера. Следуя инструкциям на странице http://msdn.microsoft.com/en-us/library/ff921031.aspx Я обнаружил, что мой кеш-кластер не работает. Я открыл PowerShell как администратор и запустил Start-CacheCluster. Через несколько минут я получаю сообщение об ошибке:

Start-CacheCluster : Could not start cluster: ErrorCode<ERRCAdmin025>:SubStatus
<ES0001>:Time-out occurred in starting the cluster.
At line:1 char:19
+ Start-CacheCluster <<<<
    + CategoryInfo          : NotSpecified: (:) [Start-CacheCluster], DataCach
   eException
    + FullyQualifiedErrorId : ERRCAdmin025,Microsoft.ApplicationServer.Caching
   .Commands.StartCacheClusterCommand

Проверка журналов событий показывает следующее:

Service cannot be started. System.TypeInitializationException: The type initializer for 'Microsoft.ApplicationServer.Caching.ConfigManager' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Microsoft.Fabric.Common.ConsoleSink' threw an exception. ---> System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---> System.Configuration.ConfigurationErrorsException: An error occurred loading a configuration file: Access to the path 'C:\Windows\System32\AppFabric\DistributedCacheService.exe.config' is denied. (C:\Windows\System32\AppFabric\DistributedCacheService.exe.config) ---> System.UnauthorizedAccessException: Access to the path 'C:\Windows\System32\AppFabric\DistributedCacheService.exe.config' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBU...

Кто-нибудь с большим опытом работы с AppFabric видел это раньше?

-Спасибо


person William    schedule 07.09.2011    source источник


Ответы (6)


Попробуйте Microsoft, Windows, Application Server-System Services и Admin log. Иногда этот журнал дает вам дополнительную информацию, которой нет в обычном журнале событий. Для получения дополнительной информации о мониторинге кластера кеша см. Инструменты мониторинга работоспособности.

По поводу вашей проблемы. Единственное, что я мог бы сказать, это то, что после запуска кластера кеша он загружает конфигурацию и из-за сбоя в конечном итоге приведет к сбою службы кэширования AppFabric (вы увидите эту информацию в журнале событий, упомянутом выше).

Убедитесь, что у вас настроена служба кэширования AppFabric для работы под учетной записью, имеющей доступ к файлу конфигурации DistributedCacheService.exe.config, а также к репозиторию конфигурации (база данных конфигурации Velocity или XML конфигурации).

person David Pokluda    schedule 08.09.2011
comment
Предоставление разрешения учетной записи службы файлу DistributedCacheService.exe.config, расположенному в папке \ Program Files \ AppFabric 1.1 для Windows Server \, помогло мне. Спасибо, Дэйв! - person peanutbutter_lou; 21.03.2013

Вам необходимо запустить «Кэширование администрирования Windows PowerShell» от имени администратора.

person hakksor    schedule 12.09.2011

Вы проверили, есть ли у входа AppFabricCachingService доступ для чтения к DistributedCacheService.exe.config?

В моем случае я использую поставщика XML и имею общий ресурс конфигурации с именем «CacheConfig». Мой сервер не присоединен к домену, поэтому я настроил локального пользователя «AppFabric» для узла кеширования. Я использую PowerShell для создания сценария конфигурации:

Register-CacheHost -Provider XML -ConnectionString "\\MY-HOST\CacheConfig" -Account "AppFabric" -CachePort 22233 -ClusterPort 22234  -ArbitrationPort 22235 -ReplicationPort 22236 -HostName MY-HOST
Add-CacheHost -Provider XML -ConnectionString "\\MY-HOST\CacheConfig" -Account "AppFabric"
#...
Start-CacheCluster
#...

Когда я запустил сценарий, оператор Start-CacheCluster завершился неудачно с той же ошибкой отказа в доступе, что и в вашем вопросе. Затем я проверил учетную запись AppFabricCachingService и обнаружил, что для нее установлено значение СЕТЕВАЯ СЛУЖБА. Когда я проверил разрешения файла на C: \ Windows \ System32 \ AppFabric \ DistributedCacheService.exe.config, я обнаружил, что для пользователя AppFabric есть разрешение на чтение, но нет разрешений для NETWORK СЕРВИС. Это указывает мне на то, что апплет Register-CacheHost или Add-CacheHost предполагает, что учетная запись узла кеширования и учетная запись службы будут одинаковыми.

В моем случае я добавил разрешение на чтение файла для СЕТЕВОЙ СЛУЖБЫ, и это устранило проблему.

person DanielLarsenNZ    schedule 27.03.2012

Следующая проблема не является вашей конкретной проблемой, но может помочь: h ttp: //social.msdn.microsoft.com/Forums/en-US/velocity/thread/4fd844f6-3530-4115-8982-d7562e699627 # 6bf2825a-cd1d-4659-b6ce-375a0fb0ab38

person s1mm0t    schedule 18.10.2011

Я также столкнулся с проблемой, так как мой сервер AppFabric пострадал от чего-то неизвестного. Я потратил много времени на поиск решения. Наконец, единственный способ, который я успешно пробовал, - это удалить / переустановить AppFabric. И еще раз настройте параметры. Надеюсь это поможет !

person Jeff T.    schedule 30.01.2015

У меня была такая же проблема, потому что я устанавливал службу кеширования appfabric более одного раза. Каждый раз при изменении hostId он должен совпадать с hostId с файлом ClusterConfig.xml и DistributedCacheService.exe.config.

person vast    schedule 15.03.2016