3

首先,我正在學習SharePoint 2013,我一直在關注一些教程,到目前爲止,我只是設置了一個農場,除了此服務外,一切似乎都正常工作正被記錄到事件觀看者,每5分鐘:AppFabric無法創建DataCache(LMTRepopulationJob FAILS)

的執行作業定義 Microsoft.Office.Server.UserProfiles.LMTRepopulationJob的方法(ID 1e573155-b7f6-441b-919b-53b2f05770f7)拋出異常。更多 信息包含在下面。

FeedCacheService.BulkLMTUpdate中的意外異常:無法通過 創建DataCache。 SPDistributedCache可能是下來..

我發現,這是被配置爲執行每5分鐘

enter image description here

而對於假設SPDistributedCache可能是一份工作,我已經驗證它,它正在運行

enter image description here

enter image description here

正如你可以看到,它實際上是運行,還我檢查通過SP的PowerShell(get-cachehostget-cacheclusterhealth)主機緩存,當我執行命令get-cache我還是一切似乎罰款

enter image description here

然而,我只得到了默認值,併爲我所閱讀應該有列出的其他高速緩存類型,如:

DistributedAccessCache_XXXXXXXXXXXXXXXXXXXXXXXXX DistributedBouncerCache_XXXXXXXXXXXXXXXXXXXXXXXX DistributedSearchCache_XXXXXXXXXXXXXXXXXXXXXXXXX DistributedServerToAppServerAccessTokenCache_XXXXXXX DistributedViewStateCache_XXXXXXXXXXXXXXXXXXXXXXX

除其他外,我想大概應該包括數據高速緩存

enter image description here

到現在爲止,我已經嘗試了一些解決方法,但都沒有成功

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 

那麼,如果任何人有任何建議,我將非常感謝,謝謝你在前進!

+0

什麼是你的問題? – user3791372

+0

我如何才能使這項工作正確執行?我認爲我已經提供了足夠的信息來了解我的問題,如果您需要其他信息讓我知道,但請不要播放smartass –

+0

您是否按照[SharePoint 2013 +分佈式緩存(AppFabric)故障排除](http://blogs.msdn.com/b/sambetts/archive/2014/03/19/sharepoint-2013-distributed-cache-appfabric-troubleshooting.aspx)和[修復Newsfeed& LMTRepopulationJob的事件ID 6393](http://blogs.msdn。COM/B/sambetts /存檔/ 2014/09/24 /故障排除SharePoint的事件-ID-6393.aspx)? – stuartd

回答

1

這是一個通用的錯誤消息,這意味着真正的問題是未知的(因此「可能」一詞)。

我相信解決這個問題的關鍵不是可能的,而是在ULS日誌中查找剛剛發生的事件。類型爲「Unexpected」的事件不會出現在事件日誌中,並且常常出現在一般類型的錯誤之前。

在許多情況下,您可能會看到類似「未找到文件」的內容。這通常意味着指定的文件不在程序集緩存中。由於分佈式緩存利用了Sharepoint之外的AppFabric,因此Sharepoint找到其文件的唯一方法是查看程序集緩存。共享點預安裝程序應該已經將文件放在那裏,但它可能失敗了,或者有人卸載了應用程序結構並重新手動安裝它,這會從程序集中刪除文件並且不會將其放回。

0

您是否從服務器場帳戶更改了分佈式緩存帳戶? 你有什麼編號? 這是一個單一的服務器場?

了我的頭頂,唯一剩下的東西是這樣的:

格蘭特CacheAllowedClientAccount -account「域\ ProfileserviceWebAppIdentity」

我會做一個IISRESET並運行此之後重新啓動owstimer服務命令。

+0

-此刻我正在使用我的DOMAIN \ spFarmAcc我已經嘗試了其他帳戶並且它沒有工作... -目前是單個服務器場.. -且內部版本號爲15.0.4753.1000 -我也嘗試了你建議的命令,但沒有成功 謝謝,但也許有其他建議嗎? –

+0

這可能看起來很愚蠢,但是你的mysites和newsfeed預配?我一直看到這個錯誤,除非它導致某些東西不工作,我通常忽略。 –

1

Restart-CacheCluster之前,你可以指定到您的SharePoint數據庫連接(目錄名稱可能是不一樣的)

Use-CacheCluster -ConnectionString "Data Source=(SharePoint DB Server) 
\\(Optional Instance);Initial Catalog=CacheClusterConfigurationDB; 
Integrated Security=True" -ProviderType System.Data.SqlClient 

注:它不起作用永久

注2:如果您在數據庫服務器上沒有命名實例,只需將您的服務器的名稱不帶「\」。

如果你沒有一個目錄,你可以按照這個腳本

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

您可以指定或檢查你的數據庫配置在註冊表編輯器

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 

aditional的: 如果您需要更改您的服務帳戶,你可以這樣做的過程:

$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()