techblog

SP 2013 – Activate Search Topology fails

Feb 7, 2013 by Christoph // 1 Comment

I was struggling the last days again with SP 2013, installing and configuring a farm via PowerShell. This time, the Enterprise Search Service was causing me a headache.

Problem

I am using the following PowerShell command to configure and activate the Search Topology. It activates specific parts of the search components on the Frontend and Application Servers.

#Region Configure Search Topology ###############################
$saName = "Search Service Application"
$searchApp = Get-SPEnterpriseSearchServiceApplication -Identity $saName -ErrorAction SilentlyContinue

$initialSearchTopology = $searchApp | Get-SPEnterpriseSearchTopology -Active	# current Topology
$searchTopology = $searchApp | New-SPEnterpriseSearchTopology			# new Topology

# Admin Component ###############################
# Admin Component only can run on one server. 
$adminSearchInstance = Get-SPEnterpriseSearchServiceInstance $adminComponentServer
New-SPEnterpriseSearchAdminComponent -SearchTopology $searchTopology -SearchServiceInstance $adminSearchInstance
Set-SPEnterpriseSearchAdministrationComponent -SearchApplication $searchApp -SearchServiceInstance  $adminSearchInstance
#EndRegion

# Get Infos about Servers from a Config-File
$wfeServers = Get-ServerNamesInRole "FrontendServer"
$appServers = Get-ServerNamesInRole "ApplicationServer"

# FrontendServer
Write-Host "Topology Setting for FrontendServer"
foreach($wfeServer in $wfeServers)
{
	$serverName = $wfeServer["Name"]
	Write-Host "Set Topology for FrontendServer $serverName"
	$searchInstance = Get-SPEnterpriseSearchServiceInstance $serverName
	$tmp = New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $searchTopology -SearchServiceInstance $searchInstance
	$tmp = New-SPEnterpriseSearchIndexComponent -SearchTopology $searchTopology -SearchServiceInstance $searchInstance #ToDo: -RootDirectory $IndexLocation 	
}
#ApplicationServer
Write-Host "Topology Setting for ApplicationServer"
foreach($appServer in $appServers)
{
	$serverName = $appServer["Name"]
	Write-Message "Activity" "Set Topology for Application Server $serverName"
	$searchInstance = Get-SPEnterpriseSearchServiceInstance $serverName
	New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $searchTopology -SearchServiceInstance $searchInstance
	New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $searchTopology -SearchServiceInstance $searchInstance
	New-SPEnterpriseSearchCrawlComponent -SearchTopology $searchTopology -SearchServiceInstance $searchInstance 
}

$searchTopology.Activate() #!!! Here, the Error will be thrown !!!

Try	{ $initialSearchTopology.Synchronize() }
Catch{}

Remove-SPEnterpriseSearchTopology -Identity $initialSearchTopology -Confirm:$false

The error is thrown calling the statement:

$searchTopology.Activate() #!!! Here, the Error will be thrown !!!

The following is logged to the Server where Central Administration is hosted:

02/07/2013 17:01:21.50         OWSTIMER.EXE (0x0C30)                           0x0BD8        SharePoint Server Search              Administration                        aetke        Medium          Could not find or connect to hostcontroller on server SERVER-01. Exception: Could not connect to net.tcp://SERVER-01/ceres/hostcontroller/nettcp. The connection attempt lasted for a time span of 00:00:21.0369864. TCP error code 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 10.181.14.21:808.    Server stack trace:      at System.ServiceModel.Channels.SocketConnectionInitiator.Connect(Uri uri, TimeSpan timeout)     at System.ServiceModel.Channels.BufferedConnectionInitiator.Connect(Uri uri, TimeSpan timeout)     at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout)     at System.ServiceModel.Channels.ClientFramingDupl…        ff78fc9b-4b6c-b08b-52a2-ff7745f71f1f

Solution – Change Firewall Settings

I read about this issue on some discussions here and here.
The “solution” here was to reboot the server in between, but that was not really nice doing an automatic install.

I tried to switch off the firewall on my servers manually – just to try – and it worked right away. Because this is not what we want to do either, I looked deeper and tried to create a new rule allowing Inbound traffic on TCP Port 808 on all SharePoint Servers. And it worked as well.

So it seems, there is some issue with the Firewall Settings.

There is already one rule created for Port 808, but only for Application “%systemroot%\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\SMSvcHost.exe”. Maybe it is a different version of the .NET Framework or some other issue with the path here, but allowing traffic on 808 for all Programs works on my machines.

The solution for an automatic script would be to create a Inbound Rule by PowerShell.


1 Comment to “SP 2013 – Activate Search Topology fails”

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Copyright © 2012 techblog All Rights Reserved.

The posts on this weblog are provided “AS IS” with no warranties, and confer no rights. The opinions expressed herein are personal and do not represent those of my employer.

Designed & Developed by ThemeElephant