【问题标题】:Unable to start Jfrog Artifactory: Fresh Install无法启动 Jfrog Artifactory:全新安装
【发布时间】:2019-10-10 03:36:02
【问题描述】:

全新安装 JFrog Artifactory 服务器后,我无法启动应用程序。我正在使用 percona 5.6 mysql db 服务器。


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 Mon 2018-01-22 04:22:34 EST; 2s ago
  Process: 8618 ExecStart=/opt/jfrog/artifactory/bin/artifactoryManage.sh start (code=exited, status=0/SUCCESS)

Jan 22 04:22:34 xxx-xxxx-xxxx systemd[1]: Failed to start Setup Systemd script for Artifactory in Tomcat Servlet Engine.
Jan 22 04:22:34 xxx-xxxx-xxxx systemd[1]: Unit artifactory.service entered failed state.
Jan 22 04:22:34 xxx-xxxx-xxxx systemd[1]: artifactory.service failed.

当我检查 artifactory.bootstrap.log 时,出现以下错误。

2018-01-22 04:07:43 [ARTIFACTORY] [INFO ] master.key file currently missing - waiting for Access to create it. Reattempting to check master.key file existence in 1 second.

如果您需要更多日志来诊断,请告诉我。

问候,

【问题讨论】:

  • 看起来 Access 服务没有成功启动,你能检查一下你的 catalina 日志(在 $ARTIFACTORY_HOME/logs/catalina/ 中)吗?可能是 Access 无法连接到您的 mysql 数据库服务器
  • 不得不放弃这种方法并使用 docker install。谢谢你的建议。稍后再试一次。
  • 不得不放弃这种方法,转而使用 docker install,以后再试一次。
  • 您让进程运行了多长时间?我对我的第一次跑步感到不耐烦。当 Artifactory 开始出现错误时——主要是“master.key 文件当前丢失”,我停止了它并再次尝试。结果是错误消息是预期的。我再次解压缩 zip 以替换任何损坏的 config/derby 文件并重新运行。大约一分钟后错误停止,Access 启动并且登录页面正常工作。
  • @jroquelaure,什么是访问服务?我如何验证它是否正在运行,它是哪个版本,以及该版本是否与 Artifactory 期望的匹配?

标签: artifactory


【解决方案1】:

我遇到了同样的问题。在 Ubuntu 16.04 和 5.10.1 的 deb 安装包下运行。

看起来$ARTIFACTORY_HOME 指向/var/opt/jfrog/artifactory,二进制文件位于/opt/jfrog/artifactory。将$ARTIFACTORY_HOME 更改为指向/opt/jfrog/artifactory 允许它启动,但也将所有数据放在那里(访问、备份、数据、日志和支持目录)。这对我来说很好,因为我们只有一个演示许可证,而且我们只是在做一些测试,但如果你想将你的数据保存在 /var 下,那就不太理想了。

我确实尝试过单独留下$ARTIFACTORY_HOME 并创建指向其他目录的链接,但这似乎不起作用。不过,我并没有费心去调查,因为我现在有一个看起来可以工作的测试系统。

【讨论】:

    【解决方案2】:

    我最近在 Solaris 11 上使用 java 8 版本 6.7.3 时遇到此错误。
    首先,我解压缩了文件,检查了我所有的文件权限,它们都很好。
    然后,我在 artifactory.default 文件中设置了我的 ARTIFACTORY_HOME 和 JAVA_HOME

    接下来,我运行了以下
    openssl rand -hex 16 > /m1/artifactory-oss-6.7.3/etc/security/master.key

    并启动 Artifactory。

    我在这里找到了手动创建master.key的openssl命令:
    https://www.jfrog.com/jira/browse/RTFACT-15699

    【讨论】:

    • 请注意,这仅在 Artifactory 第一次使用空数据库启动时才有效。如果数据库已经包含以前安装的密钥,则必须使用该密钥,并且新生成的密钥将导致另一个错误:“主密钥校验和不匹配”
    【解决方案3】:

    检查此链接: https://www.jfrog.com/confluence/display/RTF4X/Master+Key+Encryption

    转到安全 >> 安全配置 >> 加密按钮

    这将创建 artifactory.key 文件,复制它并将副本重命名为 master.key

    编辑 1

    在版本 5 中发现您需要 JAVA_HOME 集,在版本 4 中无关紧要,

    【讨论】:

    • 如果 Artifactory 甚至无法启动,我该如何“转到安全 >> 安全配置 >> 加密按钮”?
    • @SethTisue 抱歉,我忘了说你在哪里升级,我从 4 迁移到 5 时遇到了同样的情况
    【解决方案4】:

    我遇到了类似的问题,并通过更正 /var/opt/jfrog/artifactory/access/etc 路径上的所有者/组权限来修复它。

    在运行人工 docker 映像之前,我正在使用 ansible playbook 创建以下目录。

    /var/opt/jfrog/artifactory/access/etc

    /var/opt/jfrog/artifactory/备份
    /var/opt/jfrog/artifactory/数据
    /var/opt/jfrog/artifactory/等
    /var/opt/jfrog/artifactory/logs

    【讨论】:

      最近更新 更多