AppFabric 缓存问题疑难解答

本主题列出了在对 Microsoft AppFabric 1.1 for Windows Server 的缓存功能问题进行故障排除,以帮助解决一些更常见的问题时需检查的内容。

下表中汇总了最常见的问题,并在下面的主题中对这些问题进行了说明。

问题类型 其他信息

使用 Windows PowerShell 管理工具。

使用 Windows PowerShell 管理 AppFabric 1.1 缓存功能

与通信或防火墙相关。

TCP/IP 通信(AppFabric 1.1 缓存)

缓存主机问题。

主要主机和群集管理(AppFabric 1.1 缓存)缓存客户端和本地缓存(AppFabric 1.1 缓存)

缓存群集高可用性问题。

高可用性(AppFabric 1.1 缓存)

配置存储位置权限。

基于共享文件夹的群集配置基于 SQL Server 的群集配置

使用 Windows PowerShell 进行缓存管理

在 Windows Vista、Windows 7 和 Windows Server 2008 操作系统上,必须右键单击 Windows PowerShell 快捷方式并选择“以管理员身份运行”,缓存管理工具才能正常工作。

命令的参数值区分大小写。例如,如果创建一个名为 NamedCache1 的缓存,则命令 Get-CacheConfig -CacheName namedcache1 将无法工作。您必须匹配大小写,如下所示:Get-CacheConfig -CacheName NamedCache1Get-CacheConfig -CacheName NamedCache1.

在缓存主机上运行 Windows PowerShell 缓存管理工具时,您必须具有对群集中所有缓存主机的管理员权限,命令才能正常运行。

以下部分中介绍的问题也可能会导致运行 Windows PowerShell 命令问题。

防火墙例外和端口配置

所有缓存服务器均应具有缓存、群集和仲裁端口的防火墙例外,这一点很重要。AppFabric 配置向导可以自动配置这些防火墙例外;但在排除通信问题时,可能需要确认这些例外。

建议防火墙例外基于应用程序名称 DistributedCacheService.exe。基于端口号明确指定例外有助于消除不正确配置防火墙例外可能造成的任何问题。例如,明确的端口例外消除了在手动配置基于应用程序的防火墙例外时,误选错误可执行文件名的机会。

运行启用缓存的应用程序的计算机不需要配置防火墙端口例外。它包含的信息可以告诉客户端应用程序使用哪个端口来与缓存主机进行通信。如果应用程序配置文件列出了错误的端口号,则客户端将无法与主机通信。通过检查缓存主机上的端口例外并验证应用程序和群集配置文件,可以帮助排除防火墙配置问题。有关配置文件的详细信息,请参阅AppFabric 缓存配置选项

下表显示了每个端口的默认值,以及详细信息在每个配置文件中的存储位置(如果适用)。

备注

每个缓存主机都参考群集配置设置来确定要用于与群集进行通信的相应端口。使用 Windows PowerShell 的 Get-CacheHostConfig 命令,可以查看每个缓存主机正在使用的端口。有关详细信息,请参阅使用 Windows PowerShell 管理 AppFabric 1.1 缓存功能

端口名称 默认值 应用程序配置文件属性 群集配置文件属性

缓存端口

22233

cachePort

cachePort

群集端口

22234

不适用

clusterPort

仲裁端口

22235

不适用

arbitrationPort

复制端口

22236

不适用

replicationPort

缓存主机问题

当主要主机执行群集管理角色时,缓存群集中的大多数主要主机必须保持运行。如果大多数主要主机停止运行,则整个群集将停止运行。如果非主要主机出现故障,缓存群集将继续工作。如果没有启用高可用性,则该缓存主机上存储的缓存对象将会丢失。

如果存在有关已将哪些缓存主机指定为主要主机的问题,请使用带有 HostName 参数的 Get-CacheHostConfig 命令。如果 IsLeadHost 属性为真,则表示该主机已被指定为主要主机。有关 Windows PowerShell 的详细信息,请参阅使用 Windows PowerShell 管理 AppFabric 1.1 缓存功能

所有缓存服务应同时启动和停止,这一点很重要。因此,仅支持使用 Start-CacheClusterStop-CacheClusterRestart-CacheCluster 命令更改缓存服务器上的缓存服务状态。在关闭单个缓存服务器以进行维护之前,还可以使用 Stop-CacheHost 命令。

备注

如果缓存主机正在执行群集管理角色,则 Stop-CacheHost 命令将不会停止该缓存主机的 Windows 服务,因为如果停止该服务将会导致整个群集关闭。

缓存群集高可用性问题

对于帮助使您的应用程序免受故障缓存主机影响的高可用性功能,至少要有三个缓存主机必须是缓存群集的成员。这是由于强一致性要求指出,启用高可用性的缓存中必须始终具有两个缓存对象或区域副本。为了维护缓存或区域的两个副本,启用高可用性的缓存要求至少要运行两个缓存主机。有关高可用性功能的详细信息,请参阅高可用性(AppFabric 1.1 缓存))。

缓存群集配置存储位置权限

所有缓存主机都必须能够访问群集配置存储位置。每次在向群集添加新缓存主机时,安装程序都必须授予缓存主机对配置存储位置的权限。还必须重新启动缓存群集才能首次识别新的缓存主机。有关缓存群集所需的必要权限的详细信息,请参阅 Windows Server AppFabric 安装指南 (https://go.microsoft.com/fwlink/?LinkId=169172)。

另请参阅

概念

群集配置存储选项
基于共享文件夹的群集配置
基于 SQL Server 的群集配置
AppFabric 缓存配置选项
使用 Windows PowerShell 管理 AppFabric 1.1 缓存功能
AppFabric 缓存概念(AppFabric 1.1 缓存)
开发缓存客户端

  2012-03-05