Лучший отвечающий
Развертывание поиска в sharepoint 2019

Вопрос
-
Всем добрый день!
Выполняю развертку поиска в sharepoint 2019.Топология серверов Shared Roles, на сервере Application выполняю скрипт:
# Get App Pool $saAppPoolName = Get-SPServiceApplicationPool "ServiceApplicationPool" # Search Specifics, we are single server farm $searchServerName = (Get-ChildItem env:computername).value $serviceAppName = "Приложение службы поиска" $searchDBName = "SearchService_DB" $databaseServer = "sharepointsql" # Grab the Appplication Pool for Service Application Endpoint $saAppPool = Get-SPServiceApplicationPool $saAppPoolName # Start Search Service Instances Write-Host "Запуск экземпляров службы поиска..." Start-SPEnterpriseSearchServiceInstance $searchServerName Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $searchServerName # Create the Search Service Application and Proxy Write-Host "Создание службы поиска приложений и прокси..." $searchServiceApp = New-SPEnterpriseSearchServiceApplication -Name $serviceAppName -ApplicationPool $saAppPoolName -DatabaseName $searchDBName -DatabaseServer $databaseServer $searchProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name "Приложение службы поиска прокси" -SearchApplication $searchServiceApp # Clone the default Topology (which is empty) and create a new one and then activate it Write-Host "Настройка топологии компонента поиска" $clone = $searchServiceApp.ActiveTopology.Clone() $searchServiceInstance = Get-SPEnterpriseSearchServiceInstance New-SPEnterpriseSearchAdminComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchContentProcessingComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchAnalyticsProcessingComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchCrawlComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchIndexComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchQueryProcessingComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance $clone.Activate()
Скрипт выполнился до части:
# Clone the default Topology (which is empty) and create a new one and then activate it Write-Host "Настройка топологии компонента поиска" $clone = $searchServiceApp.ActiveTopology.Clone() $searchServiceInstance = Get-SPEnterpriseSearchServiceInstance New-SPEnterpriseSearchAdminComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchContentProcessingComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchAnalyticsProcessingComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchCrawlComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchIndexComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance New-SPEnterpriseSearchQueryProcessingComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance $clone.Activate()
При выполнении команды:
# Clone the default Topology (which is empty) and create a new one and then activate it Write-Host "Настройка топологии компонента поиска" $clone = $searchServiceApp.ActiveTopology.Clone() $searchServiceInstance = Get-SPEnterpriseSearchServiceInstance New-SPEnterpriseSearchAdminComponent –SearchTopology $clone -SearchServiceInstance $searchServiceInstance
Выходит ошибка:
New-SPEnterpriseSearchAdminComponent : Не удается преобразовать "System.Object[]" в тип "Microsoft.Office.Server.Search .Cmdlet.SearchServiceInstancePipeBind", необходимый для параметра "SearchServiceInstance". Указанный метод не поддерживается. строка:1 знак:84 + ... –SearchTopology $clone -SearchServiceInstance $searchServiceInstance + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [New-SPEnterpriseSearchAdminComponent], ParameterBindingException + FullyQualifiedErrorId : CannotConvertArgument,Microsoft.Office.Server.Search.Cmdlet.NewSearchAdminComponent
Пробовал выполнить немного по другому:
New-SPEnterpriseSearchAdminComponent -SearchTopology $clone -SearchServiceInstance Get-SPEnterpriseSearchServiceInstance
Снова вышла ошибка:
New-SPEnterpriseSearchAdminComponent : Экземпляр службы поиска не найден на сервере "Get-SPEnterpriseSearchServiceInstance". строка:1 знак:1 + New-SPEnterpriseSearchAdminComponent -SearchTopology $clone -SearchSe ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidData: (Microsoft.Offic...hAdminComponent:NewSearchAdminComponent) [New-SPEnterpriseSearchAdminComponent], KeyN otFoundException + FullyQualifiedErrorId : Microsoft.Office.Server.Search.Cmdlet.NewSearchAdminComponent
Может быть кто-нибудь сталкивался с данной проблемой?
Помогите разобраться, заранее спасибо!
- Изменено vladimir8505 23 июня 2019 г. 10:34
23 июня 2019 г. 10:30
Ответы
-
Я в таком случае, в ЦА-Управление приложениями службами:
1. Удалял приложение службы поиска с удалением всех данных
2. Создавал заново (с использованием SharePoint Web Services Default).
3. Перезапускал службы поиска SPSearchHostController и OSearch16.
и алга!!!
PowerShell использую только для очень тонкой настройки, пример - настроить службу поиска на два сервера. В основном работаю через ЦА.
- Помечено в качестве ответа vladimir8505 26 июня 2019 г. 8:34
24 июня 2019 г. 9:39 -
antsv создать службу поиска с помощью ЦА тоже подойдет, но там нельзя задать имена баз.
Нашел сайт Настройка поиска Sharepoint 2013 на отдельном сервере , немного добавив изменения в скрипт, создал службу поиска.
Проверил на сервере переднего плана Front-End, службы поиска остановлены, работают только на сервере App.
Скрипт приложил:
$gh = "SHPT3"
$saAppPoolName = Get-SPServiceApplicationPool "ServiceApplicationPool"
$SearchServiceName = "Приложение службы поиска"
$SearchServiceProxyName = "Приложение службы поиска прокси"
$DatabaseName = "SharePointSearch_DB"
$databaseServer = "sharepointsql"
#Создаем пул приложение в IIS
$spAppPool = Get-SPServiceApplicationPool $saAppPoolName
#Запускаем экземпляр Службы поиска на указанных серверах
Start-SPEnterpriseSearchServiceInstance $gh -ErrorAction
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $gh -ErrorAction
#Создаем приложение-службу поиска
$ServiceApplication = New-SPEnterpriseSearchServiceApplication -Partitioned -Name $SearchServiceName -ApplicationPool $spAppPool.Name -DatabaseName $DatabaseName -DatabaseServer $databaseServer
#Создаем Proxy приложения-службы поиска
New-SPEnterpriseSearchServiceApplicationProxy -Name $SearchServiceProxyName -SearchApplication $ServiceApplication
#Получаем экземпляр Службы поиска
$SearchServiceInstance = Get-SPEnterpriseSearchServiceInstance -Identity "SHPT3"
#Запускаем экземпляр Службы поиска
Start-SPEnterpriseSearchServiceInstance -Identity $SearchServiceInstance
#Получаем приложение-службу поиска
$ssa = Get-SPEnterpriseSearchServiceApplication
#Создаем топологию приложения-службы поиска
$newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ssa
#Добавляем компоненты в топологию приложения-службы поиска
New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
Set-SPEnterpriseSearchTopology -Identity $newTopology
#Проверяем
Get-SPEnterpriseSearchTopology -SearchApplication $ssa- Помечено в качестве ответа vladimir8505 26 июня 2019 г. 8:34
- Изменено vladimir8505 26 июня 2019 г. 8:39
26 июня 2019 г. 8:33
Все ответы
-
Нашел исправление на сайте: http://shokochino-sharepointexperience.blogspot.com/2013/11/search-service-application-cannot.html
поправив команду:
$ SearchServiceInstance = Get-SPEnterpriseSearchServiceInstance -Local
после чего, установка успешно завершилась.На севере application, где выполнялись команды развертыванию поиска, все успешно установилось, службы поиска успешно запущены, но в центре администрирования, в приложении поиска отображается бесконечная загрузка (приложил ниже)
Проверил на сервере переднего плана Front-End, там службы поиска SPSearchHostController и OSearch16 остановлены. Это так и должно?
- Изменено vladimir8505 23 июня 2019 г. 13:05
23 июня 2019 г. 13:04 -
На сервере app поднимается служба search? Рискну предположить, что Minrole влияет на все настройки.
Попробуйте сменить роль APP на APP+Search через центр администрирования или командой PowerShell.
Настройка служб поиска проводилась для APP, поэтому на вебсервере службы отключены*. Так и должно.
- Изменено antsv 24 июня 2019 г. 8:38
- Предложено в качестве ответа Mikhail Zhuikov 24 июня 2019 г. 9:18
- Отменено предложение в качестве ответа Mikhail Zhuikov 26 июня 2019 г. 8:38
24 июня 2019 г. 8:26 -
На сервере app поднимается служба search? Рискну предположить, что Minrole влияет на все настройки.
Попробуйте сменить роль APP на APP+Search через центр администрирования или командой PowerShell.
Настройка служб поиска проводилась для APP, поэтому на вебсервере службы отключены*. Так и должно.
Да, совершенно верно, search поднимается на app сервере. Проверил, на сервере app, где развертывался поиск, установлена роль "Приложение с поддержкой поиска"
Сейчас у меня отображается так:
- Изменено vladimir8505 24 июня 2019 г. 9:20
24 июня 2019 г. 9:09 -
Я в таком случае, в ЦА-Управление приложениями службами:
1. Удалял приложение службы поиска с удалением всех данных
2. Создавал заново (с использованием SharePoint Web Services Default).
3. Перезапускал службы поиска SPSearchHostController и OSearch16.
и алга!!!
PowerShell использую только для очень тонкой настройки, пример - настроить службу поиска на два сервера. В основном работаю через ЦА.
- Помечено в качестве ответа vladimir8505 26 июня 2019 г. 8:34
24 июня 2019 г. 9:39 -
2. Создавал заново (с использованием SharePoint Web Services Default).
Но тогда в этом случае, Sharepoint создаст кривые имена баз, я хотел все сделать с нормальными именами.
Еще обратил внимание, на сервере App отключил брандмауер и службы на сервере Front-End запустились без проблем, поиск запустился. Но я не думаю, что так должно работать.
Попробую сегодня сделать по вашему варианту, пересоздать службу поиска и затем отпишусь.- Изменено vladimir8505 24 июня 2019 г. 10:02
24 июня 2019 г. 10:01 -
antsv создать службу поиска с помощью ЦА тоже подойдет, но там нельзя задать имена баз.
Нашел сайт Настройка поиска Sharepoint 2013 на отдельном сервере , немного добавив изменения в скрипт, создал службу поиска.
Проверил на сервере переднего плана Front-End, службы поиска остановлены, работают только на сервере App.
Скрипт приложил:
$gh = "SHPT3"
$saAppPoolName = Get-SPServiceApplicationPool "ServiceApplicationPool"
$SearchServiceName = "Приложение службы поиска"
$SearchServiceProxyName = "Приложение службы поиска прокси"
$DatabaseName = "SharePointSearch_DB"
$databaseServer = "sharepointsql"
#Создаем пул приложение в IIS
$spAppPool = Get-SPServiceApplicationPool $saAppPoolName
#Запускаем экземпляр Службы поиска на указанных серверах
Start-SPEnterpriseSearchServiceInstance $gh -ErrorAction
Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $gh -ErrorAction
#Создаем приложение-службу поиска
$ServiceApplication = New-SPEnterpriseSearchServiceApplication -Partitioned -Name $SearchServiceName -ApplicationPool $spAppPool.Name -DatabaseName $DatabaseName -DatabaseServer $databaseServer
#Создаем Proxy приложения-службы поиска
New-SPEnterpriseSearchServiceApplicationProxy -Name $SearchServiceProxyName -SearchApplication $ServiceApplication
#Получаем экземпляр Службы поиска
$SearchServiceInstance = Get-SPEnterpriseSearchServiceInstance -Identity "SHPT3"
#Запускаем экземпляр Службы поиска
Start-SPEnterpriseSearchServiceInstance -Identity $SearchServiceInstance
#Получаем приложение-службу поиска
$ssa = Get-SPEnterpriseSearchServiceApplication
#Создаем топологию приложения-службы поиска
$newTopology = New-SPEnterpriseSearchTopology -SearchApplication $ssa
#Добавляем компоненты в топологию приложения-службы поиска
New-SPEnterpriseSearchAdminComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchCrawlComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
New-SPEnterpriseSearchIndexComponent -SearchTopology $newTopology -SearchServiceInstance $SearchServiceInstance
Set-SPEnterpriseSearchTopology -Identity $newTopology
#Проверяем
Get-SPEnterpriseSearchTopology -SearchApplication $ssa- Помечено в качестве ответа vladimir8505 26 июня 2019 г. 8:34
- Изменено vladimir8505 26 июня 2019 г. 8:39
26 июня 2019 г. 8:33