Распределенный кэш SharePoint выдает ошибки «Ссылка на объект не установлена ​​на экземпляр объекта» - PullRequest
0 голосов
/ 01 февраля 2019

Я возвращаюсь к вам по вопросу, по которому я действительно не могу найти никаких решений, несмотря на то, что потратил несколько дней на его тестирование решений с разных сайтов без успеха.

Проблема, с которой я столкнулся, связана сраспределенный кэш SharePoint 2013 для нашей среды тестирования / качества.

Ферма содержала 4 сервера:

  • 1 Сервер WFE
  • 1 Сервер приложений
  • 1 Сервер БД
  • 1Сервер OWA

У нас начались проблемы со службой поиска на сервере приложений, поэтому мы решили удалить его, но попытка его удаления заняла несколько часов, чтобы сообщить об истечении времени ожидания и привести к повреждению поиска.Сервис наполовину удален.Затем нам пришлось прибегнуть к очистке кэша SharePoint, а затем использовать команду "stsadm -o deleteconfigurationobject -id", чтобы удалить службу и вручную удалить связанные базы данных поиска.Воссоздание службы поиска после этого привело к ее повреждению или возникновению ошибки, поэтому мы решили удалить приложение из фермы, а затем добавить его снова.Вот тут-то и началась проблема с распределенным кэшем.

Чтобы удалить сервер из фермы, мы просто остановили большинство служб, которые на нем работали, и удалили экземпляр распределенного кэша.Попытка удалить сервер через Central Admin всегда приводила к проблемам с зависимостями для этого сервера, но при передаче через команду powershell (с использованием «Disconnect-SPConfigurationDatabase») сервер все еще присутствовал в списке серверов в Central Admin.Мы не хотели удалять SharePoint с этого сервера, поскольку наша цель состояла в том, чтобы вернуть его после.

Затем мы попытались вернуть сервер в ферму, но сразу выдавали ошибки, когда пытались запустить распределенный кэш.служба (из Central Admin с использованием Add-SPDistributedCacheServiceInstance), служба в службах Windows была запущена, но при попытке ее запустить, или предоставить ее, или зарегистрировать, или попробовать противоположный путь, отменить регистрацию, отменить предоставление, ... powershell всегда давалта же проблема "Ссылка на объект не установлена ​​для экземпляра объекта".Затем мы решили больше узнать, как удалить сервер из фермы, надеясь, что он может удалить оставшиеся побочные элементы, которые мешают нам предоставлять службу распределенного кэша, и, после нескольких часов исследований и некоторой грязной работы, мы можем удалить его через центральный администратор.,Мы также подумали о полной перезагрузке сервера приложений и присвоении ему нового имени (так что полная переустановка этого сервера).

Следуя этой идее, мы решили временно разместить службу распределенного кэша на WFE, но SharePoint все еще думал, что сервер приложений является хостом для кэша, поэтому нам пришлось экспортировать, а затем импортировать конфигурацию, чтобы проверитьцелевой сервер, который успешно.Используя часть решения, предложенного здесь: http://spoodoo.com/fixing-the-appfabric-caching-service-after-renaming-the-server/

Теперь в WFE служба кэширования AppFabric запускается без проблем (поэтому SharePoint говорит, что хост работает), а при использовании Add-SPDistributedCacheServiceInstance не отображаетсялюбые ошибки.Служба в Central Admin, однако, не запускается, но при попытке запустить ее через Central Admin или при попытке взаимодействовать с ней через PowerShell, все та же проблема «Ссылка на объект не установлена ​​на экземпляр объекта» и при проверке журнала «SPDistributedCacheClusterInfo»нулевой".Решением для этого является удаление службы и использование «Add-SPDistributedCacheServiceInstance» для ее повторного предоставления, но состояние службы всегда остается «отключенным» при получении статуса экземпляра службы SP.

Мой вопросВы - это то, что мы можем сделать, чтобы решить проблему, мы не можем сказать, почему Распределенный кэш сейчас находится в состоянии, в котором мы ничего не могли найти, что позволило бы его запустить, но, возможно, у вас появятся идеи, которые мы еще не пробовали.

Заранее благодарю за помощь.

...