SharePoint 2013 Activating Search Topology Error
In einer SharePoint 2013 Multi-Server Farm wurden bereits auf einem Application Server die benötigten Service Applications konfiguriert. Darunter auch die Search Service Application. Auf dem zweiten Application sollte ebenfalls die Search Service Application aktiviert werden, um die verschiedenen Komponenten der Suche auf mehrere Application Server zu verteilen. Beim Versuch die Search Topology auf dem zweiten Application Server zu aktivieren, erschien diese Fehlermeldung:
Exception: System.Management.Automation.MethodInvocationException: Exception calling «Activate» with «0» argument(s): «Could not connect to the HostController service on server REMOTESERVER Topology Activation could not be started.» —> Microsoft.Office.Server.Search.Administration.Topology.InvalidTopologyException: Could not connect to the HostController service on server REMOTESERVER Topology Activation could not be started. at Microsoft.Office.Server.Search.Administration.Topology.SearchTopology.BeginActivateSilently() at Microsoft.Office.Server.Search.Administration.Topology.SearchTopology.ActivateSilently() at Microsoft.Office.Server.Search.Administration.Topology.SearchTopology.Activate() at CallSite.Target(Closure , CallSite , Object )
Nachdem wir auf einem Testsystem sichergestellt hatten, dass das Deplyoment der Search Service Application in der aktuellen Konfiguration grundsätzlich funktionieren sollte, fiel das Augenmerk auf die aktivierte Windows Firewall. Auf den ersten Blick schienen alle von SharePoint benötigten Ports geöffnet zu sein. Das Problem war nach einigen Versuchen eingegrenzt und es stellte sich heraus, dass der Auslöser der vermeintlich geöffnete TCP Port 808 war.
Der Port ist zwar via Windows Communication Foundation Net.TCP Listener Adapter (TCP-In) tatsächlich bereits geöffnet, jedoch nur für die Applikation C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SMSvcHost.exe.
Konfiguration unter Windows Server 2008 R2
Via Start > Administrative Tools > Windows Firewall with Advanced Security öffnen.
Rechtsklick auf Inbound Rule > New Rule… auswählen
Als Firewall Rule Type wird Port gewählt.
Als Portokoll TCP auswählen und Port 808 angeben.
Allow the connection auswählen.
Auswählen für welche Zonen diese Regel gilt.
Der Regel einen aussagekräftigen Namen vergeben.
Konfiguration unter Windows Server 2012
Ab Windows Server 2012 kann die Firewall Rule ganz einfach mittels PowerShell erstellt werden:
New-NetFirewallRule -DisplayName "Allow Port 808 (TCP-in)" -Direction Inbound -LocalPort 808 -Protocol TCP -Action Allow
Wer die Konfiguration lieber über das GUI macht, kann das (fast) analog der obigen Beschreibung machen.