执行yum upgrade后Jenkins 2.375.3启动失败求助
RHEL 8.4升级至8.7后Jenkins 2.375.3无法启动的解决方法
问题概述
执行yum upgrade -y将Red Hat Enterprise Linux从8.4升级到8.7后,系统其他服务正常启动,但Jenkins 2.375.3启动失败,核心异常为java.lang.ClassCastException,具体栈跟踪如下:
java.lang.ClassCastException: class java.lang.Integer cannot be cast to class hudson.slaves.NodeProperty (java.lang.Integer is in module java.base of loader 'bootstrap'; hudson.slaves.NodeProperty is in unnamed module of loader org.eclipse.jetty.webapp.WebAppClassLoader @76908cc0) at hudson.model.Node.getNodeProperty(Node.java:496) at org.jenkinsci.plugins.matrixauth.AmbiguityMonitor$NodeContributor.record(AmbiguityMonitor.java:135) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.jenkinsci.plugins.matrixauth.AmbiguityMonitor.recordAgents(AmbiguityMonitor.java:269) Caused: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:109) Caused: java.lang.Error at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:115) at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:185) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305) at jenkins.model.Jenkins$5.runTask(Jenkins.java:1161) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120) at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:70) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused: org.jvnet.hudson.reactor.ReactorException at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:290) at jenkins.InitReactorRunner.run(InitReactorRunner.java:49) at jenkins.model.Jenkins.executeReactor(Jenkins.java:1196) at jenkins.model.Jenkins.<init>(Jenkins.java:986) at hudson.model.Hudson.<init>(Hudson.java:86) at hudson.model.Hudson.<init>(Hudson.java:82) at hudson.WebAppMain$3.run(WebAppMain.java:247) Caused: hudson.util.HudsonFailedToLoad at hudson.WebAppMain$3.run(WebAppMain.java:264)
系统环境信息
- 静态主机名: example.com
- 虚拟化类型: kvm
- 操作系统: Red Hat Enterprise Linux 8.7 (Ootpa)
- 内核: Linux 4.18.0-425.13.1.el8_7.x86_64
- 架构: x86-64
解决步骤
1. 临时禁用matrix-auth插件
异常源于matrix-auth插件的初始化逻辑,先禁用该插件恢复Jenkins启动:
# 进入Jenkins插件目录 cd /var/lib/jenkins/plugins/ # 重命名插件文件及目录以禁用 mv matrix-auth matrix-auth.disabled mv matrix-auth.jpi matrix-auth.jpi.disabled # 启动Jenkins systemctl start jenkins
2. 更新或重新安装matrix-auth插件
若Jenkins成功启动,进入插件管理页面:
- 卸载当前的
matrix-auth插件 - 安装与Jenkins 2.375.3兼容的最新版本插件
- 重启Jenkins生效
若无法通过UI操作,可手动下载对应版本的插件包(需确认版本兼容性),替换至插件目录后重启服务。
3. 检查节点配置文件
若上述方法无效,检查Jenkins节点配置文件(路径:/var/lib/jenkins/nodes/下的节点XML文件),确认nodeProperties节点是否存在格式错误(如误将Integer类型值写入NodeProperty字段),手动修正后重启Jenkins。
内容的提问来源于stack exchange,提问作者Ray Lam
相关产品推荐
相关产品推荐

