首页 > 代码库 > SharePoint 2013 搜索报错"Unable to retrieve topology component health. This may be because the admin com

SharePoint 2013 搜索报错"Unable to retrieve topology component health. This may be because the admin com

环境描述

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

错误描述

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

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

  去15/logs里面找日志;
Non-OAuth request. IsAuthenticated=True, UserIdentityName=0#.w|domain\user, 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

SharePoint 2013 搜索报错"Unable to retrieve topology component health. This may be because the admin com