Sharepoint 2013 AppFabric无法创建数据缓存(LMTRepopulationJob失败)
首先,我正在学习sharepoint 2013,并且我一直在学习一些教程,到目前为止,我只是设置了一个服务器场,除此之外,其他一切都正常工作,每5分钟登录一次事件查看器的服务除外: 作业定义的执行方法 Microsoft.Office.Server.UserProfiles.LMT填充作业(ID 1e573155-b7f6-441b-919b-53b2f05770f7)引发异常。更多 资料载于下文 FeedCacheService.BulkLMTUpdate中出现意外异常:无法 创建一个数据缓存。SPDistributedCache可能已关闭 我发现这是一个配置为每5分钟执行一次的作业 但是关于SPDistributedCache可能已关闭的假设,我已经验证了它,并且它正在运行 如您所见,它实际上正在运行,我还通过SP powershell检查了主机缓存(Sharepoint 2013 AppFabric无法创建数据缓存(LMTRepopulationJob失败),sharepoint-2013,appfabric,appfabric-cache,distributed-cache,datacachefactory,Sharepoint 2013,Appfabric,Appfabric Cache,Distributed Cache,Datacachefactory,首先,我正在学习sharepoint 2013,并且我一直在学习一些教程,到目前为止,我只是设置了一个服务器场,除此之外,其他一切都正常工作,每5分钟登录一次事件查看器的服务除外: 作业定义的执行方法 Microsoft.Office.Server.UserProfiles.LMT填充作业(ID 1e573155-b7f6-441b-919b-53b2f05770f7)引发异常。更多 资料载于下文 FeedCacheService.BulkLMTUpdate中出现意外异常:无法 创建一个数据缓存
get cachehost
和get cacheclusterhealth
),但一切似乎都很好
然而,当我执行命令get cache
时,我只得到默认值,并且对于我读到的内容,应该列出另一种缓存类型,如:
分布式访问缓存\uuxxxxxxxxxxxxxxxxxxxxxxxx
分布式弹跳缓存\uuxxxxxxxxxxxxxxxxxxxxxxxx
分布式搜索缓存\uuxxxxxxxxxxxxxxxxxxxxxxxx
DistributedServerToAppServerAccessTokenCache_uxxxxxx
分布式ViewStateCache_uxxxxxxxxxxxxxxxxxxxxxxxx
其中我认为应该包括DataCache
到目前为止,我已经尝试了一些变通方法,但没有成功
Restart-Service AppFabricCachingService
Remove-SPDistributedCacheServiceInstance
Add-SPDistributedCacheServiceInstance
Restart-CacheCluster
即使是这个脚本,它似乎在许多情况下都可以修复AppFabric缓存服务
$SPFarm = Get-SPFarm
$cacheClusterName = "SPDistributedCacheCluster_" + $SPFarm.Id.ToString()
$cacheClusterManager = [Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterInfoManager]::Local
$cacheClusterInfo = $cacheClusterManager.GetSPDistributedCacheClusterInfo($cacheClusterName);
$instanceName ="SPDistributedCacheService Name=AppFabricCachingService"
$serviceInstance = Get-SPServiceInstance | ? {($_.Service.Tostring()) -eq $instanceName -and ($_.Server.Name) -eq $env:computername}
$serviceInstance.Delete()
Add-SPDistributedCacheServiceInstance
$cacheClusterInfo.CacheHostsInfoCollection
如果有人有任何建议,我将不胜感激,提前谢谢 您是否已从服务器场帐户更改分布式缓存帐户? 你是哪个版本的? 这是单个服务器场吗 我脑子里只剩下这个: 授予CacheAllowedClientAccount-帐户“域\ProfileserviceWebAppIdentity”
运行此命令后,我将执行iisreset并重新启动owstimer服务。这是一条一般性错误消息,意味着真正的问题未知(因此使用“可能”一词) 我认为,解决这一问题的关键是在ULS日志中查找之前发生的事件。“意外”类型的事件不会出现在事件日志中,通常出现在一般类型的错误之前
在许多情况下,您可能会看到类似“未找到文件”的内容。这通常意味着记录的文件不在程序集缓存中。由于分布式缓存使用Sharepoint之外的AppFabric,因此Sharepoint查找其文件的唯一方法是查找程序集缓存。sharepoint预安装程序本应将文件放在那里,但可能已失败,或者可能有人卸载了App Fabric并手动重新安装,这将从程序集中删除文件,而不是将其放回。在
重新启动CacheCluster
之前,您可以指定与sharepoint数据库的连接(目录名称可能不同)
注意:它不会永久工作
注意2:如果您在DB Server上没有命名实例,只需将您的服务器名称放在不带“\”的位置即可
如果没有目录,可以按照以下脚本操作
***
Remove-Cache default
New-Cache SharePointCache
Get-CacheConfig SharePointCache
Set-CacheConfig SharePointCache -NotificationsEnabled True
***
New-CacheCluster -Provider System.Data.SqlClient -ConnectionString "Data Source=(SharePoint DB Server)\\(Optional Instance);Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True" -Size Small
Register-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=(SharePoint DB Server)\\(Optional Instance);Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True" -Account "Domain\spservices_account" -CachePort 22233 -ClusterPort 22234 -ArbitrationPort 22235 -ReplicationPort 22236 -HostName [Name_of_your_server]
Add-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=(SharePoint DB Server)\\(Optional Instance);Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True" -Account "Domain\spservices_account"
Add-CacheAdmin -Provider System.Data.SqlClient -ConnectionString "Data Source=(SharePoint DB Server)\\(Optional Instance);Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True"
Use-CacheCluster
您可以在regedit中指定或检查数据库配置
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppFabric\V1.0\Configuration
查找ConnectionString字符串值,并设置连接字符串
Data Source=(SharePoint DB Server)\(Optional Instance);Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True
要查询服务器的状态,可以使用:
Get-SPServiceInstance | ? {($_.service.tostring()) -eq “SPDistributedCacheService Name=AppFabricCachingService”} | select Server, Status
Get-SPServer | ? {($_.ServiceInstances | % TypeName) -contains "Distributed Cache"} | % Address
Get-AFCache | Format-Table –AutoSize
Get-CacheHost
传统的: 如果您需要更改服务帐户,可以执行以下步骤:
$f = Get-SPFarm
$svc = $f.Services | ? {$_.Name -eq "AppFabricCachingService"}
$acc = Get-SPManagedAccount -Identity "Domain\spservices_account"
$svc.ProcessIdentity.CurrentIdentityType = "SpecificUser"
$svc.ProcessIdentity.ManagedAccount = $acc
$svc.ProcessIdentity.Update()
$svc.ProcessIdentity.Deploy()
你的问题是什么?我如何才能使这项工作正常执行?我想我已经提供了足够的信息来理解我的问题,如果你需要任何其他信息,请告诉我,但请不要玩SmartAss你是否遵循了和中的说明?是的,我只是做了,没有工作,我认为问题与数据缓存tha有关t尚未初始化,但我找不到如何修复,否则我将不得不重建场:(-目前我正在使用我的域\spFarmAcc,我已经尝试了其他帐户,但它不起作用…-是的,目前是单服务器场…-版本号是15.0.4753.1000-我还尝试了您建议的命令,但没有成功,谢谢您,但可能还有其他建议吗?这可能看起来很愚蠢,但这是您的MySite和newsfeed配置?我一直看到这个错误,除非它导致某些东西无法工作,否则我通常会忽略它。
$f = Get-SPFarm
$svc = $f.Services | ? {$_.Name -eq "AppFabricCachingService"}
$acc = Get-SPManagedAccount -Identity "Domain\spservices_account"
$svc.ProcessIdentity.CurrentIdentityType = "SpecificUser"
$svc.ProcessIdentity.ManagedAccount = $acc
$svc.ProcessIdentity.Update()
$svc.ProcessIdentity.Deploy()