在将我的Artifactory服务器(免费的OSS版本)从5.2.0升级到最新的5.4.5时,我遇到了ARTIFACTORY_PID问题。 从5.3.2迁移到5.4.0后,Artifactory服务器不想再开始抱怨
了启动后PID文件/var/opt/jfrog/run/artifactory.pid不可读(还是?)。
我发现唯一的方法是从tomcat的export CATALINA_PID=$ARTIFACTORY_PID
中删除行setenv.sh
。
请注意,从5.2.0升级到5.3.2顺利进行。
然而,在从5.4.0升级到最新的5.4.5之后,这个技巧不再起作用了。现在我收到一个错误:
artifactory.service的作业失败,因为超出了已配置的资源限制。参见" systemctl status artifactory.service"和" journalctl -xe"详情。
执行service artifactory status
时,我得到:
● artifactory.service - Setup Systemd script for Artifactory in Tomcat Servlet Engine
Loaded: loaded (/usr/lib/systemd/system/artifactory.service; enabled; vendor preset: disabled)
Active: activating (auto-restart) (Result: resources) since Tue 2017-07-25 09:40:10 CEST; 4s ago
Process: 31912 ExecStart=/opt/jfrog/artifactory/bin/artifactoryManage.sh start (code=exited, status=0/SUCCESS)
Jul 25 09:40:10 linux systemd[1]: Failed to start Setup Systemd script for Artifactory in Tomcat Servlet Engine.
Jul 25 09:40:10 linux systemd[1]: Unit artifactory.service entered failed state.
Jul 25 09:40:10 linux systemd[1]: artifactory.service failed.
实际上Artifactory现在正在运行,显示版本5.4.5,但我对上述所有错误感到不满。
另外,我有点不理解CATALINA_PID和/或ARTIFACTORY_PID的目的。为什么tomcat因为这个文件而在启动时失败了?权限有什么问题?我想我之前没有采取任何额外行动。
从官方下载的rpm安装之前的唯一区别。但现在使用官方的远程yum repo。
如果我尝试创建一个空的/var/opt/jfrog/run/artifactory.pid文件,当Artifactory正在运行时,它将被删除。谁正在删除此文件,为什么?这是标准的tomcat行为吗?
OS:CentOS 7,最新。
答案 0 :(得分:4)
运行此脚本:
/opt/jfrog/artifactory/bin/artifactoryManage.sh start
它会向您显示确切的错误。
在我的情况下,它是java版本未更新。所以我更新到java 1.8。
答案 1 :(得分:4)
在我的情况下(在慢速虚拟机中)来自命令artifactoryManage.sh start
的错误消息是:
错误:Artifactory Tomcat服务器未在60秒内启动。请查看日志
日志文件告诉我唯一的问题是缓慢(/var/opt/jfrog/artifactory/logs/artifactory.log):
### Artifactory已成功启动(64.802秒)###
通过在/etc/systemd/system/artifactory.service中为服务定义添加更长的超时来解决问题:
[Service]
Environment=START_TMO=120
如您所知,在编辑服务定义后,需要systemctl daemon-reload
。