Rundeck服务启动失败:无法创建Java虚拟机及前置异常
Rundeck服务启动失败及前置问题排查
问题描述
- 实例突然无法显示执行日志,SCM功能显示异常
- 重启虚拟机后,Rundeck服务彻底无法启动
服务日志内容
[2022-10-19T12:56:07,639] 警告 config.NavigableMap - 通过点符号访问配置键 '[errorpage]' 已被弃用,后续版本将移除该方式。请改用 'config.getProperty(key, targetClass)'。 [2022-10-19T12:56:07,639] 警告 config.NavigableMap - 通过点符号访问配置键 '[errorpage, hidestacktrace]' 已被弃用,后续版本将移除该方式。请改用 'config.getProperty(key, targetClass)'。 [2022-10-19T13:08:36,394] 错误 services.ExecutionUtilService - 执行失败:项目Inventory中的任务91:[工作流结果:,步骤失败:{1=在1个节点上分发失败:[qvc-ops02.ilabs.io: 非零结果码:结果码为1 + {dataContext=MultiDataContextImpl(map={ContextView(node:qvc-ops02.ilabs.io)=BaseDataContext{{exec={exitCode=0}}}, ContextView(step:1, node:qvc-ops02.ilabs.io)=BaseDataContext{{exec={exitCode=0}}}}, base=null)} ]}, 节点失败:{qvc-ops02.ilabs.io=[非零结果码:结果码为1 + {dataContext=MultiDataContextImpl(map={ContextView(node:qvc-ops02.ilabs.io)=BaseDataContext{{exec={exitCode=0}}}, ContextView(step:1, node:qvc-ops02.ilabs.io)=BaseDataContext{{exec={exitCode=0}}}}, base=null)} ]}, 状态:失败] [2022-10-19T14:10:31,918] 调试 authentication.GrailsUsernamePasswordAuthenticationFilter - 将SecurityContextHolder设置为JaasAuthenticationToken [主体=admin, 凭证=[已保护], 已认证=true, 详情=WebAuthenticationDetails [远程IP地址=[0:0:0:0:0:0:0:1], 会话ID=node0agu3cv4a15qpk65mu7cydbed27], 授权权限=[Jaas权限 [admin,admin], Jaas权限 [build,build], Jaas权限 [architect,architect], Jaas权限 [user,user], Jaas权限 [deploy,deploy]]] [2022-10-19T19:23:03,653] 调试 authentication.GrailsUsernamePasswordAuthenticationFilter - 将SecurityContextHolder设置为JaasAuthenticationToken [主体=admin, 凭证=[已保护], 已认证=true, 详情=WebAuthenticationDetails [远程IP地址=[0:0:0:0:0:0:0:1], 会话ID=node04547cljp2grjbeh3mvzrnd8d29], 授权权限=[Jaas权限 [admin,admin], Jaas权限 [build,build], Jaas权限 [architect,architect], Jaas权限 [user,user], Jaas权限 [deploy,deploy]]] [2022-10-19T19:25:28,072] 错误 plugins.RundeckPluginRegistry - 未找到服务ScmExport对应的git-export插件 [2022-10-19T19:25:28,072] 警告 services.PluginService - 未找到ScmExport:git-export [2022-10-19T19:25:28,073] 错误 plugins.RundeckPluginRegistry - 未找到服务ScmImport对应的git-import插件 [2022-10-19T19:25:28,073] 警告 services.PluginService - 未找到ScmImport:git-import [2022-10-19T19:25:38,256] 错误 plugins.RundeckPluginRegistry - 未找到服务ScmExport对应的git-export插件 [2022-10-19T19:25:38,256] 警告 services.PluginService - 未找到ScmExport:git-export [2022-10-19T19:25:38,256] 错误 plugins.RundeckPluginRegistry - 未找到服务ScmImport对应的git-import插件 [2022-10-19T19:25:38,256] 警告 services.PluginService - 未找到ScmImport:git-import 会话终止,正在终止shell...[2022-10-19T19:29:21,521] 信息 rundeckapp.BootStrap - 检测到Rundeck关闭 ...已终止。 无法识别的选项:--skipinstall 错误:无法创建Java虚拟机。 错误:发生致命异常。程序将退出。 无法识别的选项:--skipinstall 错误:无法创建Java虚拟机。 错误:发生致命异常。程序将退出。
关键问题点
- SCM插件缺失:日志反复提示找不到
git-export和git-import插件,这是SCM显示异常的直接原因,可能是插件文件损坏、路径变更或未正确加载。 - Java启动参数错误:服务启动时出现
Unrecognized option: --skipinstall,这是导致Rundeck无法启动的核心原因。该参数不属于Java虚拟机的合法启动参数,大概率是启动脚本中误添加了该选项。 - 前置执行失败:重启前存在任务执行失败记录,节点
qvc-ops02.ilabs.io返回非零结果码,可能和日志显示异常存在关联。
修复建议
- 检查Rundeck启动脚本(如
rundeckd.sh或系统服务配置文件),移除非法的--skipinstall参数,重新启动服务。 - 验证SCM插件完整性:检查Rundeck插件目录(默认路径为
/var/lib/rundeck/libext/或/opt/rundeck/libext/)下是否存在git相关插件文件,若缺失则重新安装对应插件。 - 检查任务执行失败节点的连通性和权限,确保Rundeck能正常访问该节点并执行命令,排查日志显示异常是否由节点执行异常导致。
内容的提问来源于stack exchange,提问作者Illya Andrianov
相关产品推荐
相关产品推荐

