When having two WFE servers configured so that one acts as Search Indexing server and the other acts as Search Query server, you get multiple errors in event log and the search does not work.
On the Indexing server, errors are:
10038: Query machine 'IndexingServer' has been taken out of rotation due to this error: The system cannot find the file specified. 0x80070002. It will be retried in N seconds. Component:
10039: Retry of query machine 'IndexingServer' has failed with error: The system cannot find the file specified. 0x80070002. It will be retried again in N seconds. Component:
10040: The last query machine has been taken out of rotation. Check previous event logs to determine cause. Propagation may be necessary. Component:
On Query Server the errors are:
6482: Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (
Reason: Object
Techinal Support Details:
System.Collections.Generic.KeyNotFoundException: Object
at Microsoft.Office.Server.Search.Administration.SearchApi.get_App()
at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.Synchronize()
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)
10039: Retry of query machine 'QueryServer' has failed with error: The system cannot find the file specified. 0x80070002. It will be retried again in N seconds. Component:
Solution:
Make sure the permissions are set correctly. More exactly see that the Farm Search Service Account is in Administrators group and in WSS_ADMIN_WPG group on the Indexing and Query servers. After that stop and start the Office SharePoint Server Search service in Central Admin.