Implement search topology across multiple servers

Oct 24, 2012 at 7:06 PM
Edited Oct 24, 2012 at 10:32 PM

I really like the AutoSPInstaller. I have been working with it for a couple of days and see a lot of benefits.

The one thing I cannot get a grip on, is how to implement a search topology across multiple servers. I have the following setup:

  • App-server - should be configured with the Admin & Crawl components;
  • WFE1: should be configured with a Query component & Search Query and Site Settings Service;
  • WFE2: should be configured with the Query component & Search Query and Site Settings Service.

I have created 3 separate input-files. The app-server one creates the Enterprise Search SA according to the setup I wanted. However, the after the script is done with the WFE's (love the remote sessions btw.), the query servers are not provisioned.

I have the tried the following (xml is the same for all 3 input xml's):

  1. <CrawlServers>
     <Server Name="APP"/>
     </CrawlServers>
    <QueryServers>
     <Server Name="WF1 WF2"/>
     </QueryServers>
    <SearchQueryAndSiteSettingsServers>
     <Server Name="WF1 WF2"/>
     </SearchQueryAndSiteSettingsServers>
  2. <CrawlServers>
     <Server Name="APP"/>
     </CrawlServers>
    <QueryServers>
     <Server Name="WF1, WF2"/>
     </QueryServers>
    <SearchQueryAndSiteSettingsServers>
     <Server Name="WF1, WF2"/>
     </SearchQueryAndSiteSettingsServers>
  3.  <QueryServers>
     <Server Name="WF1"/>
     <Server Name="WF2"/>
     </QueryServers>
    <SearchQueryAndSiteSettingsServers>
     <Server Name="WF1"/>
     <Server Name="WF2"/>
     </SearchQueryAndSiteSettingsServers>
    
    

None of these options result in a full search topology across multiple servers. What am I doing wrong here?

Thanks for any advice on this point.

Regards, Andries

Oct 30, 2012 at 11:31 AM

Having the same problems here. Unlike Andries I'm using a single XML file with a multi-server install. It all works beautifully, apart from search. After installing, the APP server is running all search components and my front-end is running none. I'd like to run the query components on both the APP and WFE servers.

I'm installing 2013 RTM bits with the following config:

        <EnterpriseSearchService Provision="CONTOSO-APP CONTOSO-WEB"
                                 ContactEmail=""
                                 ConnectionTimeout="60"
                                 AcknowledgementTimeout="60"
                                 ProxyType="Default"
                                 IgnoreSSLWarnings="false"
                                 InternetIdentity="Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MS Search 6.0 Robot)"
                                 IndexLocation="C:\Program Files\Microsoft Office Servers\14.0\Data\Office Server\Applications"
                                 PerformanceLevel="Reduced"
                                 Account="CONTOSO\sp_search"
                                 Password="password"
                                 ShareName="SearchIndex">
            <EnterpriseSearchServiceApplications>
                <EnterpriseSearchServiceApplication Name="Search Service Application"
                                                    DatabaseServer=""
                                                    DatabaseName="Search"
                                                    FailoverDatabaseServer=""
                                                    Partitioned="false"
                                                    Partitions="1"
                                                    SearchServiceApplicationType="Regular"
                                                    ContentAccessAccount="CONTOSO\sp_searchcrawl"
                                                    ContentAccessAccountPassword="password">
                    <ApplicationPool Name="SharePoint Search Application Pool" Account="CONTOSO\sp_search" Password="password" />
                    <CrawlServers>
                        <Server Name="CONTOSO-APP" />
                    </CrawlServers>
                    <QueryServers>
                        <Server Name="CONTOSO-APP" />
                        <Server Name="CONTOSO-WEB" />
                    </QueryServers>
                    <!-- You should specify all the servers you listed in QueryServers in the SearchQueryAndSiteSettingsServers node below as well -->
                    <SearchQueryAndSiteSettingsServers>
                        <Server Name="CONTOSO-APP" />
                        <Server Name="CONTOSO-WEB" />
                    </SearchQueryAndSiteSettingsServers>
                    <!-- You can only run the AdminComponent on one server per Search Service App, so only list one server here -->
                    <AdminComponent>
                        <Server Name="CONTOSO-APP" />
                        <ApplicationPool Name="SharePoint Search Application Pool" Account="CONTOSO\sp_searchapp" />
                    </AdminComponent>
                    <Proxy Name="Search Service Application" Partitioned="false">
                        <ProxyGroup Name="Default" />
                    </Proxy>
                </EnterpriseSearchServiceApplication>
            </EnterpriseSearchServiceApplications>
        </EnterpriseSearchService>

Coordinator
Nov 8, 2012 at 2:54 AM

Hi jsiegmund, the Search config is completely different in SP2013 and still needs work & updating in the script, which is why you're having issues. Stay tunes for some updates hopefully soon. At the moment I only have it working in a single-server topology.

And awdhaan, you need to put each server on a separate line (like jsiegmund did, and like I believe you have in your option 3.) for it to work properly. Also there is no need to use separate XML files anymore; you should only have 1 XML file that is used for all servers across the farm.

Brian

 

Nov 20, 2012 at 6:41 PM

I plan to just place the entire topology on a single server and then use normal PS commands to clone, re-configure and activate the new topology.