如何排除故障x升级问题
升级6号工艺品时。X到7。xversions, you may encounter some problems. The following are some of the most encountered issues and how to resolve them.
问题#1:没有找到有效的安装许可证
错误:2020-05-20T12:09:02.734Z [1;32m[jfrt] [0;39m [31m] [WARN] [0;39m [6cafdf57809c7477] [o.a.a。]ConverterBlockerImpl:68] [ocalhost-startStop-1] -没有找到有效的安装许可证。阻塞转换决议此错误通常表示在Artifactory期间缺少Artifactory许可证引导的过程。因此,您需要验证artifactory.lic文件(或者,如果您的是HA设置,则使用artifactory.cluster.license文件)存在于$ JFROG_HOME / artifactory / var / etc / artifactory /目录中。如果有的话不存在时,您需要创建它手动和粘贴中的许可密钥artifactory.lic或artifactory.cluster.license文件。
2020-05-20T12:09:02.735Z [1;32m[jfrt] [0;39m [1;31m[ERROR] [0;39m [6cafdf57809c7477] [.a.c。]ConvertersManagerImpl:215] [ocalhost-startStop-1] -转换失败。您应该分析错误并重试启动Artifactory。
错误是:转换器无法运行,因为没有找到匹配的许可证,请添加新的许可证
问题#2:无法解析连接键
错误:2020-05-21T05:51:49.467Z [34;1m[jfmd] [0m] [31;1m[ERROR] [0m] [2199530ec5479f2a] [keys.][main] - Cluster join: Failed resolved join key: Failed resolved 'share .security. go:22]joinKey的关键;文件不存在:/opt/artifactory/artifactory_home/var/etc/security/join.key决议:此错误是由于join.keyArtifactory服务启动时文件丢失。看看我们关于管理密钥的wiki页面在这里.另外,查看~ / opt / artifactory / artifactory_home / var / etc /安全/路径验证是否join.key文件是否存在。
(初始化)
panic: Cluster join: Failed resolved join key: Failed resolved 'share .security. 'joinKey的关键;文件不存在:/opt/artifactory/artifactory_home/var/etc/security/join.key
问题3:主密钥不匹配
错误:java.lang.IllegalStateException:主键不匹配。提供的主人。密钥文件与数据库指纹不匹配。确保你的db。属性配置有效,主键与您尝试连接的数据库匹配。决议:此行为发生在提供的master.key是否与现有的不匹配master.key在数据库中。如果是原件master.key存在于备份文件夹,你可以复制它美元ARTIFACTORY_HOME / var / etc /安全和重新启动Artifactory服务。如果master.key是不在备份文件夹中,您需要再生的master.key通过从数据库和文件系统中删除旧条目。要完成此操作,请使用以下命令删除查询(但是,之前你知道,我们高度建议做一个备份的数据库):
步骤1:使用以下查询备份现有条目:
- SELECT * FROM access_configs where DATA like 'JE%'
- SELECT * FROM access_users_custom_data where PROP_VALUE like 'JE%'
- SELECT * FROM ACCESS_USERS_CUSTOM_DATA where PROP_KEY LIKE '%_shash'
- SELECT * FROM access_master_key_status
- SELECT * FROM configs where DATA like 'JE%'
- SELECT * FROM master_key_status
步骤2:从相应的访问表中删除表项,具体步骤如下:
- 从access_configs中删除类似“JE%”的数据
- 删除access_users_custom_data中PROP_VALUE类似于“JE%”的字段
- 删除access_master_key_status中status = 'on'的数据
- 删除master_key_status中status = 'on'的数据
- 从配置文件中删除类似“JE%”的数据
一旦您成功删除了master.key进入,你需要移除master.key文件来自美元JFROG_HOME / var / etc /安全目录中。此后,再生使用以下命令获取主密钥:$openssl rand -hex将其放入美元JFROG_HOME / var / etc /安全目录,重命名这是master.key.此外,作为数据库密码是由master.key文件,你需要去美元ARTIFACTORY_HOME / var / etc / system.yaml文件和手动将加密后的密码修改为纯文本.之后,重新启动Artifactory以使这些更改生效。
问题4:本地服务器作为PRO/OSS运行
错误:[ERROR][0;39m][df66677ec8ef6f86] [ctoryContextConfigListener:115] [art-init] -应用程序无法初始化:当前Artifactory节点的最后一次心跳是:1588266832819。停止Artifactory,因为本地服务器运行为PRO/OSS,但在注册表中发现其他服务器。决议:此行为通常在升级软件时发生哈节点作为一个独立的Artifactory实例。您可以通过检查您的Artifactory来识别您的Artifactory类型(HA或standalone)启动输出看看它是否被列为ArtifactoryPro或ArtifactoryHA.要解决这个问题,您需要升级您的Artifactory节点,具体步骤如下所示在这里.
问题5:关系“node_event_cursor”不存在
错误:[jfrt]ESC[0;39m ESC[1;31m] [ERROR]ESC[0;39m [bfa28082ab7e28cd] [ctoryContextConfigListener:115] [art-init] -应用程序无法初始化:错误:关系"node_event_cursor"不存在如果您继续遇到关于丢失表的错误,请联系JFrog支持.
解决方案:如果数据库缺少node_event_cursor表,将出现以下条目。为了解决这个问题,你需要重新创建这个表,以及node_event_priorities表,使用以下查询:
创建表node_event_cursor
operator_id VARCHAR(255) NOT NULL,
event_marker不是NULL;
约束operator_id_pk主键(operator_id)
);
创建表node_event_priorities
priority_id BIGINT NOT NULL,
路径VARCHAR(1024)不空,
类型VARCHAR(1024)不是NULL,
operator_id VARCHAR(255) NOT NULL,
优先级SMALLINT NOT NULL;
timestamp BIGINT NOT NULL,
retry_count SMALLINT NOT NULL;
约束priority_id_pk PRIMARY KEY (priority_id)
);
问题#6:“不允许只读连接,用户或数据库”错误
错误:[2014-04-21] [jfrt] [ERROR] [928f01c86de083be] [. s.s.d.v.c。]DbSqlConverterUtil:87] [art-init] -无法使用v217_create_jobs_table转换器转换DB,因为DDL不允许用于只读连接,用户或数据库。决议要克服像这样的错误,你需要删除的db.lock文件来自美元JFROG_HOME / var /数据/ artifactory / derby路径。后来,重新启动Artifactory服务,使您的更改生效。如果您继续遇到错误,请确保您的所有权/权限对此文件夹有效。
sql. sqlexception:只读连接、用户或数据库不允许使用DDL。
问题#7:Oracle数据库支持库缺失
错误:2017-03-05 15:36:10.37 z[34;1米[jfmd][0米[31;1米[ERROR][0米][52f2c944d022d76b] [database_bearer。][main] - Oracle数据库支持库缺失。请登录//m.si-fil.com/confluence/pages/viewpage.action?spaceKey=JFROG&title=Oracle了解更多详情。(数据库)决议:这种行为通常发生在LD_LIBRARY_PATH没有按照建议配置库路径在这里,与Oracle即时客户端图书馆。
问题#8:所需位置缺少JDBC驱动程序
错误:java.net.URLClassLoader@7d907bac
org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver (PooledConnection.java: 292)
- - -
在java.base / java.lang.Thread.run (Thread.java: 834)
java.lang.ClassNotFoundException:无法从ClassLoader:ParallelWebappClassLoader加载org.postgresql.Driver类
背景:访问
决议:此行为的发生是由于JDBC驱动程序被失踪从需要的位置。Artifactory 7。x是兼容的withJava 11和JDK来了捆绑到应用程序中。相应地,在启动时,JDBC驱动程序将从$ JFROG_HOME / artifactory / var /引导/ artifactory / tomcat / lib文件夹到美元JFROG_HOME / artifactory / app / artifactory / tomcat / lib文件夹中。
当您执行Artifactory升级到7时。x, the following error may be encountered and the Artifactory service will not start:
原因:java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
的JDBC驱动程序外部数据库被使用是不兼容的Java 11。为了克服这个问题,改变的JDBC驱动程序兼容的一个,可以在$ JFROG_HOME / artifactory / var /引导/ artifactory / tomcat / lib文件夹中。此后,重新启动Artifactory使您的更改生效。
在对兼容JDBC驱动程序进行更改后,如果遇到相同的错误,请导航到美元JFROG_HOME / artifactory / app / artifactory / tomcat / lib、删除所有JDBC驱动程序(旧的和新的),以及重新启动Artifactory。
问题#9:端口被防火墙阻塞
错误:
路由器外部端口(8082)被防火墙阻塞
路由器内部端口8046被防火墙阻塞
[ERROR]路由器流量端口(8049)被防火墙阻塞
[ERROR]路由器grpc端口(8047)被防火墙阻塞
[ERROR]人工端口(8081)被防火墙阻塞
[ERROR]访问端口(8040)被防火墙阻塞
[ERROR]访问grpc端口(8045)被防火墙阻塞
[ERROR]元数据端口(8086)被防火墙阻塞
[ERROR]前端端口(8070)被防火墙阻塞
[ERROR]复制端口号(8048)被防火墙阻塞
解决方案:此错误表明人工端口都被防火墙规则阻塞。可以通过在防火墙中允许这些端口来解决此问题。港口人工使用的完整列表可以在我们的系统资源2022世界杯阿根廷预选赛赛程wiki页面。
如果您在执行所有这些步骤后遇到任何问题,请联系JFrog支持寻求进一步的帮助。
问题#10:在Windows环境下从Artifactory v6升级到Artifactory v7时,我们通常会遇到以下错误:
[org.apache.tomcat.util.digester。蒸煮器][org.apache.tomcat.util.digester。解析第20行第75列的致命错误:元素类型"Connector"必须后跟属性规范">"或"/>"。
org.xml.sax.SAXParseException;systemId:文件:/ F: / Jfrog / artifactory / app / artifactory / tomcat / conf / server.xml;lineNumber: 20;columnNumber: 75;元素类型"Connector"必须后跟属性规范">"或"/>"。
出现问题的原因:
将以下行添加到系统中。(这些设置是从版本6的server.xml迁移过来的):
relaxedPathChars:“[]”
relaxedQueryChars:“[]”
这是在server.xml中解析上述内容的结果:
解决方案:
您可以通过从系统中删除以下行来解决此问题。yaml(位于$JFROG_HOME/artifactory/var/etc/system.yaml)。
relaxedPathChars:“[]”
relaxedQueryChars:“[]”
因此,它强制Artifactory使用relaxedPathChars和relaxedQueryChars参数的默认值。您可以查看参数的完整列表及其默认值系统YAML wiki页面。
