迁移SharePoint搜索服务至新的服务器
转自:http://blog.fpweb.net/move-sharepoint-2013-search-components-to-new-server/#.V_w4JZH_6uh
In this post, I’ll detail how to move all SharePoint 2013 search components to a different server in the SharePoint farm. Unlike SharePoint 2010, there are no topology options in Central Administration so the entire operation must be performed in PowerShell.
Although that may stress some admins out, I’ve found that moving the topology via PowerShell in SharePoint 2013 works much better than moving it via the UI in SharePoint 2010. As you should assume, there is no PowerShell command like:
MOVE-SPSEARCHTOPOLOGY –COMPONENTS ALL –DESTINATION NEWSERVER.
That’d be nice. And too easy. And honestly, it probably wouldn’t work anyway.
I’m going to assume you have a working Search Service in your (at least) two server SharePoint farm. I’m also going to assume you have rudimentary knowledge of using PowerShell with SharePoint.
Before performing any operation, your Search Administration topology section should look like this:

CLEAR THE SHAREPOINT CACHE ON ALL SHAREPOINT SERVERS
Although this isn’t necessary, performing this simple operation will avoid future potential headaches. Trust me.
CLONE THE EXISTING TOPOLOGY
The first real step is to clone the existing topology to move all the search components except for the Admin component. The Admin component must remain online to move all other components, so this particular component has to be moved separately.
You could choose to move the admin component first and then all others after it is moved. I prefer moving it last, because if there’s going to be an issue, I’d prefer it not to be with the admin component. Recovering from a failed move of the admin component can be a complete nightmare.
If it’s going to fail, fail on one of the other components. It’s much easier to troubleshoot.
Anyway, execute the following lines to clone the existing service:
$SSA = GET-SPENTERPRISESEARCHSERVICEAPPLICATION$ACTIVE = GET-SPENTERPRISESEARCHTOPOLOGY -SEARCHAPPLICATION $SSA –ACTIVE$CLONE = NEW-SPENTERPRISESEARCHTOPOLOGY -SEARCHAPPLICATION $SSA -CLONE –SEARCHTOPOLOGY $ACTIVE
START THE SEARCH SERVICE ON THE NEW SERVER
Before you can move the components, a search service must exist on the new server. Run the following (obviously, you need to replace the NewServerName):
$NEWSERVER = GET-SPENTERPRISESEARCHSERVICEINSTANCE -IDENTITY “NEWSERVERNAME“
Now that you have identified the new server, start the service on the server by:
START-SPENTERPRISESEARCHSERVICEINSTANCE -IDENTITY $NEWSERVER
The next step is where a lot of people get stuck. Now that the service has been started, they assume they are good to start creating the new components on the server (which is the next step). But before doing so, you must ensure the new search service is online on the new server.
Type this:
GET-SPENTERPRISESEARCHSERVICEINSTANCE -IDENTITY $NEWSERVER
You should see something similar to the following in the console:

If the Status says anything other than online, wait a few minutes and retry the command. Repeat until you see something like this:

Now the Status is online, we can continue.
CREATE NEW SEARCH COMPONENTS ON THE NEW SEARCH SERVER
Now you want to create all Search components except for the admin component. Use the following:
NEW-SPENTERPRISESEARCHQUERYPROCESSINGCOMPONENT -SEARCHTOPOLOGY $CLONE -SEARCHSERVICEINSTANCE $NEWSERVERNEW-SPENTERPRISESEARCHANALYTICSPROCESSINGCOMPONENT -SEARCHTOPOLOGY $CLONE -SEARCHSERVICEINSTANCE $NEWSERVERNEW-SPENTERPRISESEARCHCONTENTPROCESSINGCOMPONENT -SEARCHTOPOLOGY $CLONE -SEARCHSERVICEINSTANCE $NEWSERVERNEW-SPENTERPRISESEARCHCRAWLCOMPONENT -SEARCHTOPOLOGY $CLONE -SEARCHSERVICEINSTANCE $NEWSERVERNEW-SPENTERPRISESEARCHINDEXCOMPONENT -SEARCHTOPOLOGY $CLONE -INDEXPARTITION 0 -SEARCHSERVICEINSTANCE $NEWSERVER
There are options on the Index Component that you may be interested in researching. But those are really beyond the scope of the article. Look here for more information:https://technet.microsoft.com/en-us/library/jj219721.aspx.
For now though, let’s assume you’re happy with the parameters. To actually create the components, use this:
SET-SPENTERPRISESEARCHTOPOLOGY -IDENTITY $CLONE
And wait…
When it’s finally completed, your topology page should now look like this:

REMOVE COMPONENTS FROM ORGINAL SEARCH SERVER
Now let’s remove components from the original server. First, close the topology again. Do this:
$SSA = GET-SPENTERPRISESEARCHSERVICEAPPLICATION$ACTIVE = GET-SPENTERPRISESEARCHTOPOLOGY -SEARCHAPPLICATION $SSA -ACTIVE$CLONE = NEW-SPENTERPRISESEARCHTOPOLOGY -SEARCHAPPLICATION $SSA -CLONE –SEARCHTOPOLOGY $ACTIVE
Now you need to get the identity of the search components. Type this:
GET-SPENTERPRISESEARCHCOMPONENT -SEARCHTOPOLOGY $CLONE
The console spits out all the search components in the farm. You’ll need to look through the output to find the values applicable to your SharePoint farm. Here’s a portion of what the console should look like:

You need the NAME of all components for the old Search Server. In my SharePoint farm, SP2013Demo101 is the old search server and SP2013Demo112 is the new search server. So, the CrawlCompont0 and QueryProcessingComponent1 are some of the names I need.
So now you’ll use the following to remove these components.
Obviously, you’ll want to change the identity for the Names of the components in your environment. Use the output from Get-SPEnterpriseSearchComponent to ensure you have a Remove-SPEnterpriseSearchComponent for all components on the old server, except for the admin component.
Be careful, the names are case sensitive!
Also, notice there is no admin component in the below list.
REMOVE-SPENTERPRISESEARCHCOMPONENT -IDENTITY QUERYPROCESSINGCOMPONENT1 -SEARCHTOPOLOGY $CLONE -CONFIRM:$FALSEREMOVE-SPENTERPRISESEARCHCOMPONENT -IDENTITY CRAWLCOMPONENT0 -SEARCHTOPOLOGY $CLONE -CONFIRM:$FALSEREMOVE-SPENTERPRISESEARCHCOMPONENT -IDENTITY INDEXCOMPONENT1 -SEARCHTOPOLOGY $CLONE -CONFIRM:$FALSEREMOVE-SPENTERPRISESEARCHCOMPONENT -IDENTITY ANALYTICSPROCESSINGCOMPONENT1 -SEARCHTOPOLOGY $CLONE -CONFIRM:$FALSEREMOVE-SPENTERPRISESEARCHCOMPONENT -IDENTITY CONTENTPROCESSINGCOMPONENT1 -SEARCHTOPOLOGY $CLONE -CONFIRM:$FALSE
SET-SPENTERPRISESEARCHTOPOLOGY -IDENTITY $CLONE
You’ll have to wait for a while to let SharePoint do its thing.
When it’s done, your topology will look like this:

Great! The only thing left is move the admin component. It’s pretty much identical to the other components, so I won’t go into great detail.
START AN ADMIN COMPONENT ON THE NEW SERVER
First, clone the topology:
$SSA = GET-SPENTERPRISESEARCHSERVICEAPPLICATION$ACTIVE = GET-SPENTERPRISESEARCHTOPOLOGY -SEARCHAPPLICATION $SSA –ACTIVE$CLONE = NEW-SPENTERPRISESEARCHTOPOLOGY -SEARCHAPPLICATION $SSA -CLONE –SEARCHTOPOLOGY $ACTIVE
Second, identify the destination server:
$NEWSERVER = GET-SPENTERPRISESEARCHSERVICEINSTANCE -IDENTITY “NEWSERVERNAME“
Start a new admin component on the new server.
NEW-SPENTERPRISESEARCHADMINCOMPONENT -SEARCHTOPOLOGY $CLONE -SEARCHSERVICEINSTANCE $NEWSERVERSET-SPENTERPRISESEARCHTOPOLOGY -IDENTITY $CLONE
Again, you wait.
When it’s done the topology will look like this:

DELETE THE OLD ADMIN COMPONENT
Now you have to delete the old admin component. First, clone the topology:
$SSA = GET-SPENTERPRISESEARCHSERVICEAPPLICATION$ACTIVE = GET-SPENTERPRISESEARCHTOPOLOGY -SEARCHAPPLICATION $SSA -ACTIVE$CLONE = NEW-SPENTERPRISESEARCHTOPOLOGY -SEARCHAPPLICATION $SSA -CLONE –SEARCHTOPOLOGY $ACTIVE
Remove the admin component. If you have to, run Get-SPEnterpriseSearchComponent to get the proper name of the admin component running on the old server.
REMOVE-SPENTERPRISESEARCHCOMPONENT -IDENTITY ADMINCOMPONENT1 -SEARCHTOPOLOGY $CLONE -CONFIRM:$FALSESET-SPENTERPRISESEARCHTOPOLOGY -IDENTITY $CLONE
When this is done, your Topology will look like:

Congratulations! All search components are now online on the new server.
迁移SharePoint搜索服务至新的服务器的更多相关文章
- 迁移TFS 2012服务至新的电脑硬件
迁移TFS 2012的时候碰到一些问题, 中文记录很少, 英文的记录也比较零散. 这里记录最直接和简单的方法. 环境: 1. 公司域环境, 所有TFS用户都是公司域帐户. 2. TFS从一台服务器转移 ...
- SharePoint配置搜索服务和指定搜索范围
转载:http://constforce.blog.163.com/blog/static/163881235201201211843334/ 一.配置SharePoint Foundation搜索 ...
- Sharepoint 2013搜索服务配置总结(实战)
分享人:广州华软 星尘 一. 前言 SharePoint 2013集成了Fast搜索,相对于以前版本搜索的配置有了一些改变,在安装部署Sharepoint 2013时可以选择默认创建搜索服务,但有时候 ...
- SharePoint 2013 禁用搜索服务
原文:SharePoint 2013 禁用搜索服务 前言,在SharePoint2013中,对于硬件需求的提升,让我们虚机里安装总是一筹莫展,尤其开启了搜索服务以后,对于内存的消耗就更加严重,尤其对于 ...
- SharePoint 2013 配置启用搜索服务
原文:SharePoint 2013 配置启用搜索服务 1.安装完毕SharePoint 2013,新建网站集,点击搜索,出现如下错误(因为没配置,别激动). 2.尝试启动服务器场中的服务之Share ...
- SharePoint 无法删除搜索服务应用程序
在SharePoint的使用中,经常会遇到某些服务创建失败,某些服务删除不成功的情况.这里,我们就遇到了搜索服务创建失败,然后删除也不成功,使用管理中心的UI无法删除,PowerShell命令也无法删 ...
- SharePoint 2013配置启用搜索服务
1.安装完毕SharePoint 2013,新建网站集,点击搜索,出现如下错误(因为没配置,别激动). 2.尝试启动服务器场中的服务之SharePoint Server Search,提示新建搜索应用 ...
- SharePoint 2010:搜索服务当前处于脱机状态
错误 搜索服务当前处于脱机状态.请访问 SharePoint 管理中心中的"服务器上的服务"页,以验证是否启用了该服务.这也可能是由于正在移动索引器所致. 正在配置网站集搜索关 ...
- 搜索服务solr 一二事(1) - solr-5.5 使用自带Jetty或者tomcat 搭建单机版搜索服务器
solr,什么是solr,就是你要吃的东西“馊了”,不能吃了,out of date~ 嘛...开个玩笑,发音就是‘搜了’,专门用于搜索的一个开源框架,lunce就不说了,不好用,麻烦 来讲讲solr ...
随机推荐
- DataGridViewComboBoxColumn值无效解决方法
值无效,可能是你下拉框选项,没有这样的值,而你却设置这个值. dataGridView1.Rows[i].Cells[1].Value = "选项一"; 解决方法就是在窗体的构造函 ...
- OpenStack 业务链networking-sfc介绍 (1) - 概述
原文链接:https://blog.csdn.net/bc_vnetwork/article/details/65630355 1. Service Function Chain概述 Neutron ...
- Problem I: GJJ的日常之玩游戏(GDC)
Contest - 河南省多校连萌(四) Problem I: GJJ的日常之玩游戏 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 107 Solve ...
- 利用django form 模块处理post请求
在django框架中,利用 form 模块处理post请求提交的数据,可以大大提高开发效率,减小代码冗余度,提高性能 models.py 中: from django.db import models ...
- 《快学Scala》第八章 继承
- httpclient4.5 https请求 忽略身份验证
import org.apache.commons.collections.MapUtils; import org.apache.http.*; import org.apache.http.cli ...
- 【bug】—— H5页面在 ios 端滑动不流畅的问题
IOS系统的惯性滑动效果非常6,但是当我们对div加overflow-y:auto;后是不会出这个效果的,滑动的时候会感觉很生涩.怎么办? 方案一: 在滚动容器内加-webkit-overflow-s ...
- 如何检查 IP是否冲突了
[root@TEST_192_168_1_252 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 44:A8:42:00:1A:B5 ...
- 编程大牛 Bruce Eckel 对新程序员的忠告
简评:作者 Bruce Eckel 是编程界的大牛,著有大名鼎鼎的<Thinking in C++>和<Thinking in Java>.本文是他对程序员(尤其是新手)的忠告 ...
- 架构师养成记--32.Redis高级(安全 主从复制)
Redis高级命令及特性 keys * 返回满足的所有键值(*表示模糊匹配) exists 是否存在指定的key(返回1表示存在,0表示不存在) expire 设置某个key的过期时间,使用ttl查看 ...