Ошибка не найдено ни одного сервера с размещенным сервисом

Перейти к содержимому

Настройка 1С

Решения по использованию программ 1С. Техподдержка. Сопровождение. Услуги программистов.

Такую ошибку поймал один из наших клиентов. В этом частном случае «виновником» был журнал регистрации. Даже не он, а дисковая система, куда сохранялись данные.

Попросту закончилось свободное место и накопилась очередь транзакций, которые уже нельзя было записать. Пользователей «повыкидывало» из баз и уже не пускало.

Полный текст ошибки:

«Не найдено ни одного сервера с размещенным сервисом
servicename=SessionDataService; Ref=<база>; sessionID=<id>;»

Вышли из ситуации так: остановили службу Агента 1С, зачистили старые неиспользуемые журналы и запустили сервер. Потом, конечно, сделали более грамотно — добавили свободного места и сократили журнал регистрации 1С.

Причины

Глубоко в проблематику не залезали. Взяли со страницы на сайте Гилева. Да, зато честно. Типовые причины:

  • какая-то операция выполняется настолько часто, что накапливается очередь на исполнение;
  • проблема нового формата журнала регистрации;
  • слишком маленькое значение «Время засыпания неактивного сеанса» и «Время удаления спящего сеанса»;
  • падение процесса rmngr или удаление сеанса административными средствами.

Варианты действий

Возможные решения. Выбирайте то, что подходит именно для вас, исходя из целесообразности. Как показывает практика, у каждого свой огород и условия. Итак, что можно сделать:

  1. Перезагрузите сервер 1С или выполните принудительный рестарт службы «Агент сервера 1С:Предприятия 8.3».
  2. Очистите кэш сервера 1С.
  3. Проверьте каталог, куда сохраняются файлы журнала регистрации (ЖР). Достаточно ли свободного места. Нет ли ошибок или ограничений на диске при работе с файлами.
  4. Переключите ЖР на старый формат, перед этим остановите службу 1С.
    • В свойствах службы «Агент сервера 1С» найдите путь к файлам регистрации (опция -d «путь_к_каталогу»).
    • В папке базы (…srvinforeg_xxxx<guid>) найдите папку журнала регистрации (1Cv8Log).
    • Далее из папки 1Cv8Log удалите все файлы или переместите в другое место.
    • В папке 1Cv8Log создайте пустой файл 1Cv8.lgf и запустите службу сервера 1С.
  5. Остановите Агент 1С и очистите папки %temp%, %appdata%1c, %localappdata%1c в профиле пользователя, от имени которого запускается служба.
  6. Если у вас СУБД (MSSQL) и сервер 1С на одной машине, то настройте ограничение памяти для служб SQL.
  7. В консоли кластера 1С проверьте, как настроены Требования назначения функциональности (ТНФ). Добавьте общую функциональность с типом требования «Назначить» и примените требования.
  8. Удалите запись базы из кластера 1С, но без удаления из СУБД! А затем создайте новую регистрацию с подключением к имеющейся базе.
  9. Включите в настройках сервера 1С «Менеджер под каждый сервер». И посмотрите, не падает ли сервис сеансовых данных.
  10. Ничего не помогает? Переустановите платформу.

В случаях, когда останавливать сервер 1С нельзя, и проблема наблюдается только в одной базе — откройте Диспетчер задач и найдите неактивные процессы rphost. Завершите их принудительно. Это может сработать, если у вас настроен параметр «Количество ИБ на процесс = 1».

Пусть все получится, и сервисы 1С восстановят свою работу как требуется.

Требуется дополнительная поддержка? Наши специалисты готовы вам помочь → +7-911-500-10-11

Разрядность платформы как причина ошибок при выполнении обработчиков обновления    оглавление    Ошибка при скачивании исправлений (патчей)

2022-07-20T16:43:53+00:00

Оглавление

  • Введение в проблему
  • Что с этим делать
  • Если ошибка возникает в момент обновления конфигурации базы данных

Введение в проблему

Ошибка ‘Не найдено ни одного сервера с размещенным сервисом’ является довольно распространённой для клиент-серверных баз.

О каких сервисах здесь идёт речь? Дело в том, что кластер 1с обращается за какой-то частью функциональности к рабочим серверам, то есть это часть внутренней архитектуры кластера.

И вот в какой-то момент кластер хочет воспользоваться каким-то механизмом и выясняется, что ни один из рабочих серверов не может оказать кластеру такую «услугу» (сервис), так как:

  • либо у него (у рабочего сервера) в настройках не настроены должным образом требования назначения соответствующей функциональности
  • либо этот рабочий сервер оказывается настолько перегружен запросами на выполнение какой-либо задачи, что отказывает кластеру в запросе

И далее кластер возвращает конфигуратору ошибку, что мол не получилось найти ни одного сервера с размещенным сервисом… и далее следует указание имени сервиса, с которым возник затык (например, IntegrationDataService, ClusterConfigService, DataEditLockService или SessionDataService).

Что с этим делать

Если возникновение ошибки постоянно — тут скорее всего дело именно в том, что для рабочих серверов не настроены должным образом требования для назначения функциональности.

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

Если ошибка возникает в момент обновления конфигурации базы данных

Вот пример такого отчёта по такой операции:

Во-первых, конкретно эту ошибку (не найден сервис IntegrationDataService в момент обновления конфигурации базы данных) 1с зарегистрировала и выпустила исправление: https://bugboard.v8.1c.ru/error/000115271

Ошибка исправлена начиная с  8.3.20.1789, 8.3.21.1302 и  8.3.22.1368.

Во-вторых, в этом случае как замечают пользователи достаточно часто помогает повторная попытка обновления конфигурации базы данных. И я реализовал этот функционал в обновляторе.

Чтобы его включить зайдите в свойства серверной базы и там на закладке «Обновление» в разделе «Сам процесс» установите опцию «Повторять попытку обновления конфигурации базы данных для известных ошибок»:

В этом случае, если обновление конфигурации базы данных вернёт код ошибки, а в логе 1с по такому обновлению будет найдена строка ‘Не найдено ни одного сервера с размещенным сервисом’ — обновлятор сделает паузу и повторит попытку обновления конфигурации базы данных.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Разрядность платформы как причина ошибок при выполнении обработчиков обновления    оглавление    Ошибка при скачивании исправлений (патчей)

При запуске 1С вылетает ошибка с лицензиями:

Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!
***
Поиск лицензии в сервисе лицензирования:
Ошибка вызова сервиса лицензирования:
Не найдено ни одного сервера с размещенным сервисом
serviceName=LicenseService;

При этом в менеджере кластеров видна такая картина:

Не указан порт, т.е. не поднялся менеджер на сервере, в котором настроен сервис лицензирования..

Причиной этого может быть следующее (это не полный список):
– на сервере лицензирования не запущен ragent
– имя сервера лицензирования не резолвится в IP адрес или резолвится неправильно
– неправильно указан порт агента сервера на сервисе лицензирования
– агент сервера лицензирования содержит список администраторов центрального сервера
– на сервере лицензирования не хватило портов из заданного диапазона

В нашем случае проблема была в израсходовании всех портов сервера лицензирования.

Для решения этой проблемы можно увеличить границу области портов в параметре -range, например, на 1691 (с типового значени 1591)

"C:Program Files1cv88.3.15.1700binragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1691 -d "C:Program Files1cv8srvinfo"

Плюс в настройках рабочего сервер с функциональностью сервиса лицензирования указать “нетиповые” диапазоны чтобы не было пересечений с типовым диапазоном портов

Если у вас возникаем ошибка вида:

Не найдено ни одного сервера с размещенным сервисом serviceName = DebugService

или

Не найдено ни одного сервера с размещенным сервисом serviceName = JobService

то для исправления этой ошибки — серверу необходимо назначить функциональность:

1. Откройте Панель Администрирования серверов и перейдите в раздел Требования назначения функциональности

2. Добавите общую функциональность с типом требования Назначить

3. Примените требования

4. Все должно работать )

Я указал общие требования, т.к. баз на сервере мало, нагрузки практически нет, Но требования назначения функциональности имеют более глубокий смысл:

Требование назначение функциональности определяет:

Для какого объекта требования создается требование. В качестве объекта требования могут выступать некоторые сервисы 1 кластера, клиентские соединения и произвольный объект требования. В качестве объекта требования могут выступать следующие сервисы кластера:

  • Блокировок объектов.
  • Времени.
  • Журналов регистрации.
  • Заданий.
  • Нумерации.
  • Полнотекстового поиска.
  • Пользовательских настроек.
  • Сеансовых данных.
  • Транзакционных блокировок.
  • Работы с внешними источниками данных через ODBC.
  • Работы с внешними источниками данных через XMLA.
  • Сервис лицензирования.
  • Сервис фонового обновления конфигурации базы1 данных.
  • Сервис тестирования.
  • Сервис внешнего управления сеансами.

Определяет тип требования. Тип требования определяет, каким образом будет выполняться использование рабочего сервера:

Не назначать — означает, что рабочий сервер, для которого создано данное требование, не будет назначен для обслуживания объекта требования, подходящего под условия, заданные в требовании.

Назначать — означает, что рабочий сервер, для которого создано данное требование, будет являться одним из кандидатов на обслуживание данного объекта требования (если рабочих серверов будет несколько).

Авто — означает, что рабочий сервер может быть использован для обслуживания объекта требования в том случае, если нет рабочего сервера с явным указанием необходимости использования.

Тип требования Авто — имеет смысл использовать тогда, когда в списке требований рабочего сервера есть требование с более широким набором условий, и необходимо иметь требование для более узкого набора условий. Например, данный сервер не может обслуживать соединения клиентских приложений для всех информационных баз, кроме одной информационной базы, для которой такое обслуживание разрешено.

Дополнительные параметры, необходимые кластеру серверов для принятия решения в ряде случаев:

Имя информационной базы. Используется для уточнения требования для формирования требований для клиентских соединений и всех сервисов кластера, которые могут выступать в качестве объекта требования, кроме сервиса лицензирования.

Дополнительные параметры. Используются для уточнения требований при размещении клиентского соединения или сервиса сеансовых данных. Дополнительный параметр проверяется на совпадение с началом соответствующего параметра объекта требования. Дополнительный параметр может принимать одно из следующих значений:

Для указания конкретного фонового задания:

  • BackgroundJob.CommonModule.<Имя модуля>.<Имя метода?.
  • Для указания всех фоновых заданий: BackgroundJob. CommonModule .
  • Для указания конкретного отчета: BackgroundJob.Report.<Имя отчета;.
  • Для указания всех отчетов: BackgroundJob.Report.
  • Для указания фоновой реструктуризации: SystemBackgroundJot.
  • Для клиентского приложения:
  • 1CV — толстый клиент.
  • 1CV8CDirect- тонкий клиент в случае прямого подключения к серверу «1С:Предприятия».
  • Designer — конфигуратор.
  • COMConnectior — COM-соединение.
  • WebServerExtensior- соединение с информационной базой через веб-сервер: веб-клиент, тонкий клиент в случае подключения через веб-сервер, Web-сервис.

Рассмотрим, как работает кластер серверов при обработке требований.

В случае необходимости выполнить размещение объекта требования, кластер выполняет следующие действия:

1. На всех серверах, входящих в состав кластера, выполняется обработка заданных для этих серверов требований назначения функциональности. Обход серверов и требований выполняется в порядке следования этих объектов в консоли кластера.2. 

2. В каждом списке требований определяется первое требование, которое удовлетворяет размещаемому объекту: по собственно объекту, информационной базе и дополнительному параметру.

3. Затем полученный список рабочих серверов сортируется по признаку типа требования так, что первыми оказываются рабочие сервера с явным указанием использования. Рабочие сервера, для которых подходящее требование содержит явный запрет на использование — исключаются из списка доступных рабочих серверов. При этом назначение выполняется следующим образом:

  • Есть рабочие сервера с явным указанием использования: в этом случае объект требования будет обслужен одним из этих рабочих серверов.
  • Нет рабочих серверов с явным указанием использования: происходит попытка использовать рабочие сервера с автоматическим указанием использования или те рабочие серверы, для которых не указано требований.
  • При размещении клиентского соединения, из списка доступных серверов будет выбран тот, в состав которого входит рабочий процесс с наивысшей доступной производительностью.
  • Клиентское приложение, инициировавшее размещение объекта требования, будет завершено аварийно в одном из следующих случаях:
  • Если для объекта требования список рабочих серверов оказывается пустым — нет ни одного рабочего сервера, который может обслужить объект. При этом объект требования не будет размещен и будет вызвано исключение.
  • Если невозможно выполнить размещение на выбранном рабочем сервер, например, если выбранный сервер вышел из строя, и нет альтернативных рабочих серверов.

Я
   oyo

05.02.22 — 22:47

Добрый вечер.

При обновлении БД возникает ошибка:

«Не найдено ни одного сервера с размещенным сервисом

serviceName=IntegrationDataService;Ref=ХХХХХ;»

Поможите пожалйста. В какую сторону смотреть. В гуглах и яндексах ничего не нашел.

Платформа 8.3.20.1674, БП 3.0.105.45, SQL

   МихаилМ

1 — 05.02.22 — 22:53

https://forum.infostart.ru/ajax/comment_pub.php?t=187147&c=25

   oyo

2 — 05.02.22 — 23:00

(1) Спасибо. К сожалению это не помогает.

Там «serviceName=SessionDataService», а у меня «IntegrationDataService».

   МихаилМ

3 — 05.02.22 — 23:45

https://1s-forum.fun/showthread.php/680-Эмуляторы-для-8-x/page531

   oyo

4 — 06.02.22 — 11:09

(3) Торчит аппаратный ключ.

Ошибка возникает только на 4-х базах из 15 (пока не могу понять зависимость).

Обновление конфигурации проходит нормально. Затыкается на обновлении конф. базы данных.

   ДедМорроз

5 — 06.02.22 — 12:28

Я бы посоветовал попробовать на другой версии платформы.

   oyo

6 — 06.02.22 — 13:03

(3)(5) Откатился на 8.3.18.1741 — все заработало.

Похоже глюк у 8.3.20.1674, но не на всех базах (причину так и не установил).

Михаилу М и Деду Морозу спасибо.

   paderub

7 — 25.02.22 — 08:45

Всем привет! У меня такая же ошибка на платформе 8.3.19.1467. Возникает при обновлении базы данных. Причем в зависимости от изменений в конфигурации вылетает или до обновления, или после. Может быть кто-то уже поборол?

   paderub

8 — 25.02.22 — 08:54

Ошибка зарегистрирована еще в октябре 2021, никаких описаний для обхода нет

https://bugboard.v8.1c.ru/error/000115271

   Stagor

9 — 30.03.22 — 14:10

(8) Там же

Планируется исправить: «Технологическая платформа», версия 8.3.21

Исправлена: «Технологическая платформа», версия 8.3.20.1771 (для тестирования)

  

yzimin

10 — 03.06.22 — 11:55

На 8.3.19.1522 такая же ошибка, через раз вылетает

Похоже на 8.3.20.1838 надо переходить сразу

Закон Брукера: Даже маленькая практика стоит большой теории.

Понравилась статья? Поделить с друзьями:
  • Ошибка не найден файл или каталог
  • Ошибка не найдено не одного файла указанного для isarcextract
  • Ошибка не найден файл зона
  • Ошибка не найдено лицензионное соглашение
  • Ошибка не найден файл xlive dll