Artifactory OSS не запускается, в журнале отображается «Не удалось выполнить GetEntitlements, сервер ответил недопустимым статусом 404 НЕВНЕДРЕНО»

Я только что установил Artifactory OSS 7.84.15 на облачную машину IBM с Windows Server 2019. Я изменил только 4 параметра: я изменил 2 порта по умолчанию, которые конфликтуют с другими установками Tomcat на этом компьютере, я изменил базу данных, используемую на встроенный Derby, потому что это всего лишь проверка концепции, и я настроил IP на 127.0.0.1, потому что я видел, что где-то во время устранения неполадок он использовал адрес IPv6, и я прочитал другой вопрос, который может вызвать проблемы.

При запуске Artifactory, будь то в виде службы или из файла Artifactory.bat, после минуты или двух ожидания в выводе журнала появляется следующая ошибка:

2024-06-24T07:59:46.763Z [1;33m[jfac ][0;39m [1;31m[ERROR][0;39m [                ] [o.j.c.ExecutionUtils:60       ] [jf-common-pool-2    ] - Uncaught exception.
org.jfrog.jfconnect.client.exception.JFConnectClientException: Could not init the client
    at org.jfrog.jfconnect.client.EntitlementsClientImpl.init(EntitlementsClientImpl.java:36)
    at org.jfrog.jfconnect.client.JFConnectClientImpl.init(JFConnectClientImpl.java:63)
    at org.jfrog.access.server.service.license.EntitlementsService.lambda$init$1(EntitlementsService.java:59)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.jfrog.jfconnect.client.exception.RetryFailedException: org.jfrog.common.ExecutionFailed: Failed executing GetEntitlements, last error [Server responded with an invalid status, [localhost:8046]. Status code: [UNIMPLEMENTED]. Description [HTTP status code 404
invalid content-type: text/plain; charset=utf-8
headers: Metadata(:status=404,content-type=text/plain; charset=utf-8,x-content-type-options=nosniff,date=Mon, 24 Jun 2024 07:59:46 GMT,content-length=19)
DATA-----------------------------
404 page not found
]. Err [UNIMPLEMENTED: HTTP status code 404
invalid content-type: text/plain; charset=utf-8
headers: Metadata(:status=404,content-type=text/plain; charset=utf-8,x-content-type-options=nosniff,date=Mon, 24 Jun 2024 07:59:46 GMT,content-length=19)
DATA-----------------------------
404 page not found
]]. Will not retry anymore.
    at org.jfrog.jfconnect.client.grpc.GrpcRetryableCallSupplier.executeWithRetry(GrpcRetryableCallSupplier.java:37)
    at org.jfrog.jfconnect.client.grpc.GrpcClient.executeWithRetryAndConfig(GrpcClient.java:132)
    at org.jfrog.jfconnect.client.grpc.GrpcClient.getEntitlementsUntilSucceed(GrpcClient.java:122)
    at org.jfrog.jfconnect.client.EntitlementsAutoUpdatingCache.updateEntitlements(EntitlementsAutoUpdatingCache.java:120)
    at org.jfrog.jfconnect.client.EntitlementsAutoUpdatingCache.init(EntitlementsAutoUpdatingCache.java:46)
    at org.jfrog.jfconnect.client.EntitlementsClientImpl.init(EntitlementsClientImpl.java:34)
    ... 5 common frames omitted

Я попробовал поискать в Google эту ошибку и не нашел ничего подходящего. Странно то, что ранее в тот же день я попытался использовать Artifactory Pro, и все запустилось без каких-либо проблем. Причина, по которой я перестал его использовать, заключалась в том, что у нас не было лицензии Pro для установки, и нам пришлось перейти на версию OSS.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
98
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Судя по предоставленному фрагменту журнала, микросервис JFconnect, похоже, не запустился.

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

В любом случае, я бы порекомендовал вам проверить, решит ли отключение этого микросервиса вашу проблему. Вы можете сделать это, отредактировав файл конфигурации system.yaml:

jfconnect:
   enabled: false

Я отключил эту службу, и артефакты теперь загружаются правильно. Я не уверен, действительно ли из-за этой службы она не работала, потому что до того, как я отключил эту службу, она попадала в окно входа в систему. Когда я пытался войти на эту страницу раньше, она, очевидно, зависала. Но теперь, когда служба jfconnect отключена, вход в систему работает и появляется мастер регистрации.

Nzall 24.06.2024 11:24

Я еще раз посмотрел на полный файл system.yaml по умолчанию, и оказалось, что порт по умолчанию для jfconnect установлен на 8030. Но если это так, то почему артефакты пытались связаться с ним через порт 8046?

Nzall 24.06.2024 11:32

Платформа JFrog использует два типа портов: 1. Внутренние порты (8046,8030, 8040 и т. д.). Эти порты предоставляются каждому микросервису и используются для внутренней связи с другими микросервисами в пределах одного узла/виртуальной машины. 2. Внешние порты (8081 и 8082) — специальные порты для микросервисов Router и Artifactory. (Да. Artifactory — это также название основного продукта платформы и конкретного микросервиса в приложении Artifactory). Подробнее о портах можно прочитать здесь (jfrog.com/help/r/jfrog-installation-setup-documentation/…)

Yonatan Brand 24.06.2024 16:38

Что касается вашего вопроса об общении с маршрутизатором (jfrog.com/help/r/jfrog-installation-setup-documentation/…), позвольте мне объяснить. Маршрутизатор — это встроенный обратный прокси-сервер, который перенаправляет запросы к нужному микросервису. Кроме того, он выполняет проверки работоспособности маршрутизации всех других микрослужб и определяет, доступны ли другие микрослужбы. Это объясняет связь Artifactory с маршрутизатором.

Yonatan Brand 24.06.2024 16:45

Дальнейшее добавление для наглядности: полученная вами ошибка связана с микрослужбой Access, что видно по «jfac» как журналу идентификаторов микрослужбы. Access попытался связаться с микросервисом JFconnect и обнаружил исключение. Мы видим, что он попробовал несколько раз и в конце концов сдался. В это время микрослужба маршрутизатора пытается отправить проверки работоспособности, но они не увенчались успехом, что может объяснить упомянутую связь с портом 8046.

Yonatan Brand 24.06.2024 18:03

Я понимаю. И последний вопрос: что такое служба jfconnect и могу ли я пока оставить ее отключенной? Насколько я понимаю, это связано с тем, что разрешено делать подключенной лицензии, но поскольку я использую версию OSS, я совершенно уверен, что лицензия не задействована.

Nzall 25.06.2024 08:55

Ты прав. JFconnect — это служба предоставления прав, которая обеспечивает динамическое распределение прав для подключенных продуктов на основе учетной записи/подписки. Поскольку вы используете версию OSS, лицензия не используется, поэтому эту службу можно отключить. Я думаю, что наблюдаемая проблема всегда будет возникать с версией OSS и может быть потенциальной ошибкой.

Yonatan Brand 25.06.2024 09:12

Куда мне следует сообщить о подобной ошибке для сортировки?

Nzall 25.06.2024 13:43

Вы можете открыть ошибку для этой проблемы в общедоступной JIRA JFrog jfrog.atlassian.net/jira/software/c/projects/RTFACT/issues . Сначала вы можете зарегистрироваться здесь id.atlassian.com/…

Yonatan Brand 25.06.2024 20:41

Другие вопросы по теме

Похожие вопросы

После обновления до 7.84.14 Artifactory возвращает 400 при загрузке артефакта, который не находится на самом внешнем уровне репозитория
Установка JFrog в Azure DevOps с несколькими серверами сборки
Как перечислить все папки с более чем 10 артефактами в репозитории артефактов с помощью CURL?
Использование Jfrog для создания и обновления сборки с помощью образов докеров, соответствующих среде. (разработка|постановка|продюсирование)
Любой способ Конана автоматически загрузить пакет в артефакт, ЕСЛИ он был только что собран с --build=missing
Artifactory не запускается после обновления — «необходимые службы узла отсутствуют или неработоспособны» и другие ошибки
Дженкинс зависает при развертывании больших файлов в Artifactory
Невозможно установить определенный артефакт JFrog пакета pypi, хотя он уже существует в репозитории удаленного кеша
AttributeError: у модуля «pathlib» нет атрибута «_Accessor»
Есть ли способ очистить этот POST-запрос от обратной косой черты, прежде чем я его отправлю?