Перезагрузка самое главное необходимо отключить слушателя HTTP порт, который прослушивает порт конкретного приложения-сервера. Конфигурация для этого приложения-сервера (как и все сведения о конфигурации) совместно используется во всем кластере, а все узлы, назначенные группе, в которой установлен сервер приложений, имеют прослушиватели на том же порту. Поэтому для удаления приложения-сервера требуется перезапуск, по крайней мере, всех хостов в той же группе. Тем не менее, все же перезапуск в кластере.
Да, возможно иметь один оператор xquery, который, например, удаляет сразу несколько серверов приложений, повторно назначает хосты другой группе, возможно, также удаляет исходную группу, к которой они принадлежали, и завершает работу с просто один перезапуск. Функции admin
позволяют вам делать несколько обновлений для конфигурации администратора и заканчивать только одним admin:save-configuration
, чтобы сохранить ваши изменения.
Небольшой пример:
let $config := admin:get-configuration()
let $config := admin:appserver-delete($config,
admin:appserver-get-id($config, xdmp:group(), "app-serv1")
)
let $config := admin:appserver-delete($config,
admin:appserver-get-id($config, xdmp:group(), "app-serv2")
)
let $config := admin:appserver-delete($config,
admin:appserver-get-id($config, xdmp:group(), "app-serv3")
)
return admin:save-configuration($config)
На самом деле, admin:appserver-delete
принимает последовательность Appserver идентификаторов, так что вы можете сжимать код в этом случае. Однако вы могли бы объединить все вызовы функций администратора так же, как это. Просто следите за тем, в каком порядке вы их выполняете, что может быть актуальным. Создайте базу данных, прежде чем применять настройки, отмените артефакты, прежде чем удалять их, и т. Д.
HTH!