none
AppFabricCachingService DOWN

    Question

  • I have two SharePoint servers. On one of them I am unable to get the AppFabricCachingService to start.

    On the one which works I can see this:

     PS C:\Users\administrator> Get-SPServiceInstance | ? {($_.servic
     e.tostring()) -eq "SPDistributedCacheService Name=AppFabricCachingService"} | se
     lect Server, Status

     Server                                                                   Status
     ------                                                                   ------
     SPServer Name=SHARE1                                                     Online

    And this:

     PS C:\Users\administrator> Use-CacheCluster

     PS C:\Users\administrator> Get-CacheHost

     HostName : CachePort             Service Name            Service Status Version
                                                                             Info
     --------------------             ------------            -------------- -------
     SHARE1:22233 AppFabricCachingService UP             3 [3,3]
                                                                             [1,3]
     SHARE2:22233 AppFabricCachingService DOWN           3 [3,3]
                                                                             [1,3]

    It seems that I should do Remove-SPDistributedCacheServiceInstance then Add-SPDistributedCacheServiceInstance on the server where the service doesn't work but that fails.  I get "the local farm is not accessible".

    Can anyone help?


    IT is full of 'experts'.

    Wednesday, March 08, 2017 9:47 AM

All replies

  • Hi Chyp,

    For your issue, verify that Distributed Cache services are showing as “Started” in Central Admin under “Manage Services on Server”.

    Try to  manually starting “AppFabric Caching Service” under “Administrative Tools”,  “Services.”  Then run :

    $instanceName =”SPDistributedCacheService Name=AppFabricCachingService”
    
    $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
    
    $serviceInstance.Unprovision()

    Then:

    $instanceName =”SPDistributedCacheService Name=AppFabricCachingService”
    
    $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
    
    $serviceInstance.Provision()

    You may need to reboot occasionally during this process of trying to get things back in working order.

    Refer to the following article to troubleshoot the issue:

    http://microscoff.com/2013/10/17/unable-to-start-appfabriccachingservice-service-status-unknown/

    Best Regards,

    Lisa Chen


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com

    Thursday, March 09, 2017 8:06 AM
    Moderator
  • I already set the repair option according to advice on https://technet.microsoft.com/en-us/library/jj219747.aspx, I really prefer working with a GUI.

    If I try to manually start the AppFabricCachingService on SHARE2 it fails with error 1067.  The log says

    AppFabric Caching service crashed.{Microsoft.ApplicationServer.Caching.DataCacheException: ErrorCode<ERRCMS0007>:SubStatus<ES0001>:Provider "SPDistributedCacheClusterProvider" instantiation failed: Could not load file or assembly 'Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.

       at Microsoft.ApplicationServer.Caching.CustomProviderFactory.CreateInstance(String invariantName, String typeStr)

       at Microsoft.ApplicationServer.Caching.ClusterConfigDictionaryReader..ctor(ClusterConfigElement cs)

       at Microsoft.ApplicationServer.Caching.ClusterConfigurationFactory.GetReader(ClusterConfigElement cs)

       at Microsoft.ApplicationServer.Caching.ServiceConfigurationManager..ctor()

       at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartService(Boolean deleteTKT)

       at Microsoft.ApplicationServer.Caching.VelocityWindowsService.StartServiceCallback(Object context)}


    The Distributed Cache service is running on SHARE1.  I can't connect to SHARE2, it is not available to switch to from http://share1:8080/_admin/Server.aspx and trying http://share2:8080/_admin/Server.aspx gets me a 500 error.

    I followed the instructions.  They fail on SHARE2, it can't contact the farm.  I should point out that every time I run the SharePoint Powershell console on SHARE2 it puts up several pages of complaints before it starts.

    I ran the instructions on SHARE1.

    $instanceName =”SPDistributedCacheService Name=AppFabricCachingService”
    $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
    $serviceInstance.Unprovision()
    $instanceName =”SPDistributedCacheService Name=AppFabricCachingService”
    $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
    $serviceInstance.Provision()

    The service doesn't start on SHARE2.  I restarted SHARE2.  The service won't start.


    The subsequent script on http://microscoff.com/2013/10/17/unable-to-start-appfabriccachingservice-service-status-unknown/ fails completely with a series of "Cannot access the local farm" responses.

    Start-CacheHost fails on SHARE2 with
    start-cachehost : ErrorCode<ERRPS013>:SubStatus<ES0001>:Error: No valid
    cluster settings were provided with Use-CacheCluster.

    So I tried use-cachecluster, that fails with
    use-cachecluster : ErrorCode<ERRPS001>:SubStatus<ES0001>:Error in reading
    provider and connection string values. Please provide the values manually.

    I looked in the registry on SHARE1 to find the ConnectionString so I could provide the values as per https://blogs.technet.microsoft.com/bspieth/2016/03/09/appfabric-cache-cluster-connection-problem/
    Use-CacheCluster -ConnectionString "Data Source=SQLServer\MyAppFabricInstance;Initial Catalog=AppFabric_Cache_Database;Integrated Security=True" -ProviderType System.Data.SqlClient

    That fails with
    Test connection failed for ConnectionString Data Source=SQL\Sharepoint;Initia
    l Catalog=AppFabric_Cache_Database;Integrated Security=True and Provider System.
    Data.SqlClient
    Use-CacheCluster : ErrorCode<ERRCAdmin007>:SubStatus<ES0001>:Error encountered
    in accessing the configuration store. Check the access permissions and
    existence.

    I know the SQL Server exists and works, the other server is using it.  I haven't changed anything, all I did was restart SHARE2 and it stopped working.


    IT is full of 'experts'.



    Thursday, March 09, 2017 9:10 AM