我有一些使用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经验的人看过这个?
-Thanks
答案 0 :(得分:9)
尝试Microsoft
,Windows
,Application Server-System Services
和Admin
日志。有时,此日志会为您提供常规事件日志中不存在的更多信息。有关缓存群集监视的详细信息,请参阅Health Monitoring Tools。
关于你的问题。我唯一想到的是,在启动缓存集群后,它会加载配置,因为它会失败,最终会导致AppFabric缓存服务崩溃(您将在上面提到的事件日志中看到这些信息)。
确保将AppFabric缓存服务配置为在有权访问配置文件DistributedCacheService.exe.config
的帐户以及配置存储库(Velocity配置数据库或配置XML)下运行。
答案 1 :(得分:4)
您需要以管理员身份运行“缓存管理Windows PowerShell”。
答案 2 :(得分:3)
您是否检查过 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 添加了文件的读取权限,并修复了问题。
答案 3 :(得分:0)
以下不是您的确切问题,但可能有所帮助:h ttp://social.msdn.microsoft.com/Forums/en-US/velocity/thread/4fd844f6-3530-4115-8982-d7562e699627/#6bf2825a-cd1d-4659-b6ce-375a0fb0ab38
答案 4 :(得分:0)
我也遇到了问题,因为我的AppFabric服务器遭遇了一些未知的事情。我花了很多时间来寻找解决方案。最后,我成功尝试的唯一方法是卸载/重新安装AppFabric。并再次配置设置。希望这有帮助!
答案 5 :(得分:0)
我有同样的问题,因为我安装了appfabric缓存服务多次。每次更改hostId时,它必须与使用ClusterConfig.xml和DistributedCacheService.exe.config文件的hostId相同