2011-09-07 11 views
5

Tengo un código que usa appfabric y estaba recibiendo errores de indisponibilidad del servidor. Siguiendo las instrucciones en http://msdn.microsoft.com/en-us/library/ff921031.aspx encontré que mi clúster de caché estaba caído. Abrí PowerShell como administrador y ejecuté Start-CacheCluster. Después de unos minutos aparece un mensaje de error:Obteniendo acceso denegado tratando de iniciar el clúster de caché de la aplicación desde powershell

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 

Comprobación de los registros de eventos revela esto:

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... 

¿Alguien con experiencia más AppFabric visto esto antes?

-Gracias

Respuesta

7

Trate Microsoft, Windows, Application Server-System Services y Admin registro. A veces, este registro le dará más información que no está presente en el registro de eventos normal. Para obtener más información sobre la supervisión del clúster de caché, vea Health Monitoring Tools.

Acerca de su problema. Lo único que diría es que, después de iniciar el clúster de caché, carga la configuración y, dado que falla, finalmente bloqueará el servicio de caché de AppFabric (verá esa información en el registro de eventos mencionado anteriormente).

Asegúrese de que AppFabric Caching Service esté configurado para ejecutarse en una cuenta que tenga acceso al archivo de configuración DistributedCacheService.exe.config, así como al depósito de configuración (configuración de velocidad DB o XML de configuración).

+3

Concesión del permiso de la cuenta de servicio al archivo DistributedCacheService.exe.config ubicado en \ Archivos de programa \ AppFabric 1.1 para Windows Server \ did el truco para mi Gracias Dave! –

4

Debe ejecutar la "Administración de almacenamiento en caché de Windows PowerShell" como administrador.

+0

Funciona, gracias –

2

¿Ha comprobado que el AppFabricCachingService de inicio de sesión tiene acceso de lectura a DistributedCacheService.exe.config?

En mi caso, estoy usando un proveedor XML y tengo un recurso compartido de configuración llamado "CacheConfig". Mi servidor no está unido a un dominio, así que he configurado un usuario local de "AppFabric" para el host de caché. Estoy utilizando PowerShell para la escritura de la configuración:

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 
#... 

Cuando me encontré con el guión la declaración Start-CacheCluster falló con el mismo error de acceso denegado al igual que en su pregunta. Luego revisé el inicio de sesión AppFabricCachingService y encontré que estaba configurado en NETWORK SERVICE. Cuando revisé los permisos de archivos en C: \ Windows \ System32 \ AppFabric \ DistributedCacheService.exe.config, encontré que había un permiso de lectura para el usuario de AppFabric, pero no tenía permisos para NETWORK SERVICE. Esto me indica que el applet Register-CacheHost o Add-CacheHost asume que la cuenta de host de caché y la cuenta de servicio serán las mismas.

En mi caso agregué un permiso de lectura al archivo NETWORK SERVICE y eso solucionó el problema.

0

También encontré el problema ya que mi servidor AppFabric sufrió algo desconocido. Pasé mucho tiempo buscando la solución. Finalmente, la única forma en que lo intenté con éxito es desinstalar/reinstalar AppFabric. Y configure los ajustes una vez más. Espero que esto ayude !

0

Tuve el mismo problema porque instalé el servicio de caché de la aplicación más de una vez. Cada vez que se cambió hostId, debe ser el mismo hostID con ClusterConfig.xml y el archivo DistributedCacheService.exe.config

Cuestiones relacionadas