🛠️ Решение ошибки Artifactory 502 bad gateway

Мануал

Проблема: сервис не перезапускается

Ошибки:

java.lang.IllegalStateException: Could not find database table: db_propertiesartifactory

frontend is PID exists (29311), but frontend not running artifactory

Can’t open PID file /var/run/artifactory.pid (yet?) after start: No such file or directory

Решение:

1. остановить artifactory, отключив автоматический перезапуск

# systemctl stop artifactory.service

2. запросом вывести все java-процессы, связанные с томкат-сервером Artifactory

# ps -ef | grep java | grep artifactory | grep tomcat

3. остановить все найденные в шаге 2 процессы

kill -9 13868
kill -9 13869
kill -9 13998

4. Дождаться автоматического создания файла artifactory.pid в директории /var/run/

# cat /var/run/artifactory.pid
21519

5. Выполнить экспорт переменной ARTIFACTORY_PID

# export ARTIFACTORY_PID=/var/run/artifactory.pid

6. Убедиться, что в настройках сервиса верно указан путь до pid файла

# cat /etc/systemd/system/artifactory.service
PIDFile=/var/run/artifactory.pid

7. Перейти в каталог /var/opt/jfrog/artifactory/data/derby и удалить файл блокировки БД derby (используется для восстановления подключения к существующей базе и для рекавери). Предварительно сделайте копию удаляемого файла db.lck. Не удаляйте и не изменяйте никакие другие файлы в этой директории – это приведет к невозможности процедуры восстановления БД!

# rm /var/opt/jfrog/artifactory/data/derby/db.lck

8. Дайте полные права тому пользователю, из-под которого запущен сервис artifactory, на директорию log. Не удаляйте и не изменяйте никакие другие файлы в этой директории – это приведет к невозможности процедуры восстановления БД!

# ls -l
drwxrwxrwx 2 artifactory artifactory 4096 Jun 24 15:16 log

9. Выполнить запуск artifactory

# systemctl start artifactory.service

10. Удостовериться, что сервис запущен, работает UI, проходит авторизация, все артефакты на месте.

 

Добавить комментарий