SharePoint2013中重建分布式缓存步骤

Posted snailjuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SharePoint2013中重建分布式缓存步骤相关的知识,希望对你有一定的参考价值。

 

缓存配置文件路径:

C:Program Files用于 Windows Server 的 AppFabric 1.1DistributedCacheService.exe.config

配置信息在注册表中的查看路径:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftAppFabricV1.0Configuration

重建分布式缓存步骤:

首选,进入Powershell,运行Use-CacheCluster 进入powershell缓存集群上下文。

1. 停用分布式缓存服务

方法一:进入CA-->应用程序管理-->管理服务器上的服务-->找到分布式缓存,然后点击停止;

方法二:

ps>Get-SPServiceInstance | ? {($_.service.tostring()) -eq "SPDistributedCacheService Name=AppFabricCachingService"} | % { $_.Server; $_.Status; $_.Id }

  获取服务示例ID

ps>$s= Get-SPServiceInstance GUID

ps>$s.Unprovision()

ps>$s.Delete() 

方法三:

Stop-SPDistributedCacheServiceInstance -Graceful

Remove-SPDistributedCacheServiceInstance

2. Unregister-CacheHost

3. 注册cachehost,其中使用的Provider,ConnectionString 从DistributedCacheService.exe.config中读取,Account使用Farm Account,也可使用"NT AUTHORITYNETWORK SERVICE",HostName 为服务器机器名。(对于场中的每一个服务器都进行此项调用)

ps>Register-CacheHost –Provider "SPDistributedCacheClusterProvider" –ConnectionString "" -Account "" -CachePort 22233 -ClusterPort 22234 -ArbitrationPort 22235 -ReplicationPort 22236 –HostName "" 

4. 检查cachehost状态,正常情况下,状态为UP

ps>Get-CacheHost

5. 如果状态为DOWN,导出配置文件,检查配置文件中hostid,以及Account信息是否正常。hostid必须与DistributedCacheService.exe.config中的hostid一致,如果不一致,则修改配置文件中的hostid,然后重新导入。

ps> Export-CacheClusterConfig -Path D:softAF.XML

    检查修改导出的xml文件,然后重新导入。

ps> Import-CacheClusterConfig D:softAF.XML

ps> Remove-SPDistributedCacheServiceInstance

ps> Add-SPDistributedCacheServiceInstance

ps> Start-CacheHost -ComputerName "" -CachePort 22233 

   6. 然后重新运行Get-CacheHost,检查服务运行状态

 

运行缓存集群命令常见问题,及解决方案:

1. Use-CacheCluster : ErrorCode<ERRPS001>:SubStatus<ES0001>:读取提供程序和连接字符串值时发生错误。请手动提供这些值。

如果是缓存集群中的主服务器,则检查DistributedCacheService.exe.config中connectionstring是否正常。

如果是其他加入farm的服务器,则在运行命令行的时候,补充ConnectionString和ProviderType的值,如:Use-CacheCluster -ConnectionString "" -ProviderType "SPDistributedCacheClusterProvider"

下面是修改配置信息的PS命令行:

registryHive = "HKLM:SOFTWAREMicrosoftAppFabricV1.0Configuration"

$connectionStringValueName = "ConnectionString"

$connectionStringValue= ""

$providerValueName = "Provider"

$providerValue= "SPDistributedCacheClusterProvider"

if ((Test-Path $registryHive) -eq $false) {New-Item $registryHive -Force | Out-Null}

Set-ItemProperty $registryHive -Name $connectionStringValueName -Value  $connectionStringValue| Out-Null

Set-ItemProperty $registryHive -Name $providerValueName -Value $providerValue| Out-Null

 

2.

 

ps> $s= Get-SPServiceInstance GUID

ps> $s.Delete()

使用“0”个参数调用“Delete”时发生异常:“无法删除 SharePoint 管理框架中的对象“SPDistributedCacheServiceInstance”,因为其他对象依赖于该对象。请更新所有这些依赖对象,使其指向空对象或其他对象,然后重试此操作。这些依赖对象包括: 

SPServiceInstanceJobDefinition Name=job-service-instance-XXXX

所在位置 行:1 字符: 1

+ $s.Delete()

+ ~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException

    + FullyQualifiedErrorId : InvalidOperationException

解决方法:

先删除对应的定时任务

ps> $jobToDelete = Get-SPTimerJob | ? { $_.name -eq "job-service-instance-4XXX" }

ps> $jobToDelete.Delete()

3. 

ps> Unregister-CacheHost -HostName computername -ProviderType 

Unregister-AFCacheHost : 缺少参数“ProviderType”的某个参数。请指定一个类型为“System.String”的参数,然后再试一次。

所在位置 行:1 字符: 58

+ Unregister-CacheHost -HostName computername -ProviderType

+                                                          ~~~~~~~~~~~~~

    + CategoryInfo          : InvalidArgument: (:) [Unregister-AFCacheHost],ParameterBindingException

    + FullyQualifiedErrorId : MissingArgument,Microsoft.ApplicationServer.Caching.Configuration.Commands.UnregisterAFCacheHostCommand

解决方法

导出cachecluster配置文件,将hosts节点下所有信息删除。hosts配置节点需要为空才能执行unregister操作。

<hosts></hosts>

PS C:Windowssystem32> Export-CacheClusterConfig -Path D:softAF.XML

PS C:Windowssystem32> Import-CacheClusterConfig D:softAF1.XML

4.

ps> Start-CacheHost -ComputerName "" -CachePort 22233

HostName : CachePort            Service Name            Service Status Version Info

--------------------            ------------            -------------- ------------

computername:22233 AppFabricCachingService DOWN           3 [3,3][1,3]

Start-CacheHost : 无法启动计算机“”上的服务 AppFabricCachingService。

所在位置 行:1 字符: 1

+ Start-CacheHost -ComputerName "" -CachePort 22233

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [Start-AFCacheHost], InvalidOperationException

    + FullyQualifiedErrorId : System.InvalidOperationException,Microsoft.ApplicationServer.Caching.Commands.StartAFCacheHostCommand

解决方法

导出cachecluster配置文件,与DistributedCacheService.exe.config进行对比,检查其中的hostid,account等信息与DistributedCacheService.exe.config完全一致。然后重新创建SPDistributedCacheServiceInstance

Export-CacheClusterConfig -Path D:softAF.XML

Import-CacheClusterConfig D:softAF.XML

ps> Remove-SPDistributedCacheServiceInstance

ps>  Add-SPDistributedCacheServiceInstance

 

 

 

 

 

 

 

技术图片

 

以上是关于SharePoint2013中重建分布式缓存步骤的主要内容,如果未能解决你的问题,请参考以下文章

如何清除SharePoint Server 配置缓存

powershell 这为SharePoint 2013发布站点对象缓存设置了Portal Supper用户和阅读器。它允许指定用户(用户/读者)到

SharePoint 删除废弃站点步骤

SharePoint 2013 安装

筛选 Web 部件不再在 Sharepoint Online 中可用

10分钟精通SharePoint - SharePoint安装