SharePoint 2013 搜索报错"Unable to retrieve topology component health. This may be because the admin component is not up and running"

环境描述

  Windows 2012 R2,SharePoint 2013(没有sp1补丁),sql server 2012

错误描述

  搜索服务正常,但是爬网一直在Crawling Full,但是爬不到任何东西,而且不会停止,爬了一宿什么都没有爬到:

  爬网不止,爬了一宿什么都没有爬到,错误如下:

   去15/logs里面找日志; Non-OAuth request. IsAuthenticated=True, UserIdentityName=0#.w|domainuser, ClaimsCount=125 b5b2d49c-feb7-e08b-ecf7-28204da68508
UserAgent not available, file operations may not be optimized.    at Microsoft.SharePoint.SPFileStreamManager.CreateCobaltStreamContainer(SPFileStreamStore spfs, ILockBytes ilb, Boolean copyOnFirstWrite, Boolean disposeIlb)     at Microsoft.SharePoint.SPFileStreamManager.SetInputLockBytes(SPFileInfo& fileInfo, SqlSession session, PrefetchResult prefetchResult)     at Microsoft.SharePoint.CoordinatedStreamBuffer.SPCoordinatedStreamBufferFactory.CreateFromDocumentRowset(Guid databaseId, SqlSession session, SPFileStreamManager spfstm, Object[] metadataRow, SPRowset contentRowset, SPDocumentBindRequest& dbreq, SPDocumentBindResults& dbres)     at Microsoft.SharePoint.SPSqlClient.GetDocumentContentRow(Int32 rowOrd, Object ospFileStmMgr, SPDocumentBindRequest& dbreq, SPDocumentBindResults& dbres...
The crawler could not communicate with the server. Check that the server is available and that the firewall access is configured correctly.
  事件查看器报错; WebHost failed to process a request. Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/63363381 Exception: System.ServiceModel.ServiceActivationException: The service '/90ac4adbb96a4e89892b2ad7ab02da51/MetadataWebService.svc' cannot be activated due to an exception during compilation.  The exception message is: The farm is unavailable.. ---> System.InvalidOperationException: The farm is unavailable.    at Microsoft.SharePoint.Administration.Claims.SPSecurityTokenServiceManager.get_Local()    at Microsoft.SharePoint.IdentityModel.SPServiceIssuerNameRegistry..ctor()    at Microsoft.SharePoint.SPServiceHostOperations.Configure(ServiceHostBase serviceHost, SPServiceAuthenticationMode authenticationMode)    at Microsoft.SharePoint.Taxonomy.MetadataWebServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity)    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)    --- End of inner exception stack trace ---    at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity)    at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath, EventTraceActivity eventTraceActivity) Process Name: w3wp Process ID: 6004

解决方法

  事件查看器错误,参考下面link解决,但是没有解决爬网的问题:

https://social.technet.microsoft.com/Forums/en-US/ef415574-2e89-4fd9-8538-c49eef3366c6/searchservicesvc-cannot-be-activated-due-to-an-exception-during-compilation-the-exception?forum=sharepointsearch

  经过一天的挣扎,终于决定删掉搜索服务,重建!经过重建,发现报错更严重了,搜索主机控制服务连不上了;然后,查看搜索主机控制服务,发现和搜索服务运行账号不是一个,更新成一个以后,搜索服务正常了,爬网也没有问题了!

其他参考

  解决过程中,发现其他人遇到过类似问题,跟自己原因不同,备注下面给大家一个参考;

http://blog.csdn.net/abrahamcheng/article/details/11216087

******************************************************************************

作者:霖雨 出处:http://www.cnblogs.com/jianyus 本文版权归 霖雨和博客园共有,欢迎转载,但请注明出处。

原文地址:https://www.cnblogs.com/liyuxin/p/4285061.html