Startseite > Allgemein > Distributed Cache, lässt sich nicht starten “cacheHostInfo is null”

Distributed Cache, lässt sich nicht starten “cacheHostInfo is null”


Folgende Situation:

Wir wollten in einer SharePoint 2013 Farm einen neuen Webserver hinzufügen um die Webfrontend Server zukünftig über ein Loadbalancer zu veröffentlichen. Nachträglich sollten die beiden Webfrondend Server für den Distributed Cache der SharePoint Farm genutzt und konfiguriert werden.

Nach dem der Server der Farm hinzugefügt war, wollte ich den Distributed Cache über die Zentraladministration starten.

Dabei wurde ein Fehler in Zentraladministration in “Services on Server” erzeugt.

Im Eventlog erschienen die drei folgenden Fehlermeldungen:

Log Name: Application
Source: SharePoint Foundation
Event ID: 7034
image

Log Name: Application
Source: SharePoint Foundation
Event ID: 3889
image

Log Name: Application
Source: SharePoint Foundation
Event ID: 6398
image

 

Der Lösungsversuch

Zunächst habe ich mit den Informationen aus der Technet versucht Informationen über den Status des Distrriuted Cache Clusters zu erhalten. Einen Überblick über den gesamten Cluster mit den Knoten bekommt man mit dem folgenden PowerShell Befehl.

$instancename ="SPDistributedCacheService Name=AppFabricCachingService"
Get-SPServiceInstance  | ?{($_.Service.Tostring()) -eq $instancename} | select Typename, Status, id, server | ft –AutoSize

image

Ich habe dann mit dem nachfolgenden Befehl, versucht den Server aus dem CacheCluster zu entfernen.

Remove-SPDistributedCacheServiceInstance

Aus dem Technet Artikel, siehe Link: Add or remove a server in a Distributed Cache cluster

Mit dem folgendem Ergebnis:
image

 

Nach dem dieser Befehl nicht erfolgreich war habe ich mich an den Technet Artikel, Repair a cache host orientiert.

$s = Get-SPServiceInstance GUID
$s.delete()

(Als Guid wurde die ID des Fehlerhaften Server eingetragen)

Dieser Befehl lief erfolgreich durch und der Server war aus dem Cache Cluster gelöscht. Zur Kontrolle wurde der erste Befehl verwendet siehe oben.
Ergebnis:
image

Nach dem der Vorgang erfolgreich war, habe ich gleich den folgenden Befehl, wie im Artikel beschrieben ausgeführt.

Add-SPDistributedCacheServiceInstance

Mit dem Ergebnis:
image
Diese Meldung besagt das der Server schon im Cluster vorhanden war, obwohl ich den Server ja eigentlich gelöscht hatte.

Ein Versuch den Dienst dann auf dem Server zu starten schlug auch wieder fehl.

 

Endlich die Lösung

Durch Unterstützung des Microsoft Supportes habe ich das Problem lösen können. (Hierbei noch einmal Danke an den MS Support)

Normalerweise soll der Distributed Cache nur über die PowerShell Befehle von SharePoint verwaltet werden. Da aber SharePoint den App Fabric Cache verwendet stehen uns noch mehr Befehle zur Verfügung.

Dafür muss die PowerShell Console der Caching Administration auf einem Server gestartet werden auf dem der Distributed Cache gestartet ist. (am besten gleich mit rechter Maustaste als Administrator starten)

In der Console habe ich dann den folgenden Befehl ausgeführt:

Get-CacheHost

Mit dem Ergebnis:
image

Obwohl ich den Server mit dem Befehl:
$s = Get-SPServiceInstance GUID
$s.delete()

zuvor gelöscht hatte, war der defekte Server immer noch in der CacheCluster-Config enthalten.

Um den Fehlerhaften Eintrag aus der Config zu bekommen, musste ich die Konfiguration des CacheClusters in eine XML-Datei exportieren:

Befehl:
Export-CacheClusterConfig –Path D:\Temp\CacheClusterConfig.xml

image

Danach habe ich die Datei mit dem Text-Editor geöffnet und den Fehlerhaften XML-Tag gelöscht.
Dabei muss der komplette Host-Tag des fehlerhaften Server gelöscht werden.
Mit Fehler:
image

Ohne Fehler:

image
Danach habe ich die Datei unter einem anderen Namen abgespeichert. Somit habe ich nicht die originale Config-Datei überschrieben.

Für den Import der Datei muss der Cache-Cluster noch gestoppt werden.
Wichtig: Hierfür einen Zeitraum außerhalb der Business Stunden wählen, da die Inhalte aus den anderen ClusterHosts gelöscht werden.

Stoppen des Clusters mit dem folgenden Befehl:

Stop-CacheCluster

image

Importieren der angepassten ConfigDatei:

Import-CacheClusterConfig –Path D:\Temp\CacheClusterConfig_Repair.xml

image

Starten des Cache Clusters:

Start-CacheCluster

image
Erfolgreicher Start der drei funktionierenden Cluster-Hosts

Hinzufügen des entfernten Server, hierfür muss die SharePoint-PowerShell Konsole auf dem zuvor entfernten Server geöffnet werden, um auf diesem Server den folgenden Befehl auszuführen:

Add-SPDistributedCacheServiceInstance

Mit diesem Befehl wurde der Server zum Cache Cluster hinzugefügt und erfolgreich gestartet.

Danach habe ich noch einmal geprüft ob die Cache Dienste auf allen Server ordnungsgemäß gestartet sind.

$instancename ="SPDistributedCacheService Name=AppFabricCachingService"
Get-SPServiceInstance  | ?{($_.Service.Tostring()) -eq $instancename} | select Typename, Status, id, server | ft -AutoSize

image

 

So das war´s, ich hoffe ich konnte einigen damit helfen.

 

Gruß

Mario

Kategorien:Allgemein
  1. Es gibt noch keine Kommentare.
  1. No trackbacks yet.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: