Получение доступа запрещено при попытке запустить кластер кэша appfabric из powershell - PullRequest
6 голосов
/ 07 сентября 2011

У меня есть код, который использует 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 видел это раньше?

-Спасибо

Ответы [ 6 ]

9 голосов
/ 08 сентября 2011

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

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

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

4 голосов
/ 12 сентября 2011

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

3 голосов
/ 27 марта 2012

Вы проверили, что 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 и обнаружил, что для него установлено значение NETWORK SERVICE .Когда я проверил права доступа к файлу в C: \ Windows \ System32 \ AppFabric \ DistributedCacheService.exe.config , я обнаружил, что для пользователя AppFabric есть разрешение на чтение, но нет разрешения для NETWORK SERVICE.Это указывает на то, что апплет Register-CacheHost или Add-CacheHost предполагает, что учетная запись хоста кэша и учетная запись службы будут одинаковыми.

В моем случаеЯ добавил разрешение на чтение в файл для NETWORK SERVICE , и это устранило проблему.

0 голосов
/ 15 марта 2016

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

0 голосов
/ 30 января 2015

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

0 голосов
/ 18 октября 2011

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

...