rundeck 2.6.9升级2.6.10无法启动

简介: 线上rundeck从2.6.9升级到2.6.10后无法启动,日志也没有打印任务有用的信息,一头雾水。 只有从配置文件开始着手,一看还真发现了一点不同。 我是yum源升级的,在rundeck的配置目录/etc/rundeck下发现profile文件被升级了,对比了一下新产生的文件与...
线上rundeck从2.6.9升级到2.6.10后无法启动,日志也没有打印任务有用的信息,一头雾水。
只有从配置文件开始着手,一看还真发现了一点不同。
我是yum源升级的,在rundeck的配置目录/etc/rundeck下发现profile文件被升级了,对比了一下新产生的文件与旧文件:
-rw-r--r-- 1 rundeck rundeck  2907 Nov 15 09:45 profile
-rw-r--r-- 1 root    root     2038 Nov 15 09:44 profile2016-11-15
-rw-r----- 1 rundeck rundeck  2907 Nov 11 06:25 profile.rpmnew
发现新文件profile.rpmnew添加了好多新的东西。
而启动时还是使用老的配置文件,怀疑是此文件造成启动影响。
于是备份老porfile,使用rpmnew文件替换。
不出所料,成功启动。

点击(此处)折叠或打开

  1. [rundeck@sys rundeck]$ diff -bBr profile2016-11-15 profile.rpmnew
  2. 1,2c1,17
  3. RDECK_BASE=/var/lib/rundeck
  4. export RDECK_BASE
  5. ---
  6. > RDECK_INSTALL="${RDECK_INSTALL:-/var/lib/rundeck}"
  7. > RDECK_BASE="${RDECK_BASE:-/var/lib/rundeck}"
  8. > RDECK_CONFIG="${RDECK_CONFIG:-/etc/rundeck}"
  9. > RDECK_SERVER_BASE="${RDECK_SERVER_BASE:-$RDECK_BASE}"
  10. > RDECK_SERVER_CONFIG="${RDECK_SERVER_CONFIG:-$RDECK_CONFIG}"
  11. > RDECK_SERVER_DATA="${RDECK_SERVER_DATA:-$RDECK_BASE/data}"
  12. > RDECK_PROJECTS="${RDECK_PROJECTS:-$RDECK_BASE/projects}"
  13. > RUNDECK_TEMPDIR="${RUNDECK_TEMPDIR:-/tmp/rundeck}"
  14. > RUNDECK_WORKDIR="${RUNDECK_TEMPDIR:-$RDECK_BASE/work}"
  15. > RUNDECK_LOGDIR="${RUNDECK_LOGDIR:-$RDECK_BASE/logs}"
  16. > RDECK_JVM_SETTINGS="${RDECK_JVM_SETTINGS:- -Xmx1024m -Xms256m -XX:MaxPermSize=256m -server}"
  17. > RDECK_TRUSTSTORE_FILE="${RDECK_TRUSTSTORE_FILE:-$RDECK_CONFIG/ssl/truststore}"
  18. > RDECK_TRUSTSTORE_TYPE="${RDECK_TRUSTSTORE_TYPE:-jks}"
  19. > JAAS_CONF="${JAAS_CONF:-$RDECK_CONFIG/jaas-loginmodule.conf}"
  20. > LOGIN_MODULE="${LOGIN_MODULE:-RDpropertyfilelogin}"
  21. > RDECK_HTTP_PORT=${RDECK_HTTP_PORT:-4440}
  22. > RDECK_HTTPS_PORT=${RDECK_HTTP_PORT:-4443}
  23. 4,5d18
  24. JAVA_CMD=java
  25. RUNDECK_TEMPDIR=/tmp/rundeck
  26. 7,17c20,21
  27. RDECK_HTTP_PORT=4440
  28. RDECK_HTTPS_PORT=4443

  29. #
  30. # If JAVA_HOME is set, then add it to home and set JAVA_CMD to use the version specified in that
  31. # path. JAVA_HOME can be set in the rundeck profile. Or set in this file.
  32. #JAVA_HOME=path/to/JDK or JRE/install>

  33. if [ ! -z $JAVA_HOME ]; then
  34. PATH=$PATH:$JAVA_HOME/bin
  35. export PATH
  36. ---
  37. > # If no JAVA_CMD, try to find it in $JAVA_HOME
  38. > if [ -z "$JAVA_CMD" ] && [ -n "$JAVA_HOME" ] && [ -x "$JAVA_HOME/bin/java" ] ; then
  39. 18a23,26
  40. > PATH=$PATH:$JAVA_HOME/bin
  41. > export JAVA_HOME
  42. > elif [ -z "$JAVA_CMD" ] ; then
  43. > JAVA_CMD=java
  44. 21,36c29,48


  45. export CLI_CP=$(find /var/lib/rundeck/cli -name \*.jar -printf %p:)
  46. export BOOTSTRAP_CP=$(find /var/lib/rundeck/bootstrap -name \*.jar -printf %p:)
  47. export RDECK_JVM="-Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf \
  48. ---
  49. > # build classpath without lone : that includes .
  50. > for jar in $(find $RDECK_INSTALL/cli -name '*.jar') ; do
  51. > CLI_CP=${CLI_CP:+$CLI_CP:}$jar
  52. > done
  53. > for jar in $(find $RDECK_INSTALL/bootstrap -name '*.jar') ; do
  54. > BOOTSTRAP_CP=${BOOTSTRAP_CP:+$BOOTSTRAP_CP:}$jar
  55. > done
  56. >
  57. > RDECK_JVM="-Djava.security.auth.login.config=$JAAS_CONF \
  58. > -Dloginmodule.name=$LOGIN_MODULE \
  59. > -Drdeck.config=$RDECK_CONFIG \
  60. > -Drundeck.server.configDir=$RDECK_SERVER_CONFIG \
  61. > -Dserver.datastore.path=$RDECK_SERVER_DATA/rundeck \
  62. > -Drundeck.server.serverDir=$RDECK_INSTALL \
  63. > -Drdeck.projects=$RDECK_PROJECTS \
  64. > -Drdeck.runlogs=$RUNDECK_LOGDIR \
  65. > -Drundeck.config.location=$RDECK_CONFIG/rundeck-config.properties \
  66. > -Djava.io.tmpdir=$RUNDECK_TEMPDIR \
  67. > -Drundeck.server.workDir=$RUNDECK_WORKDIR \
  68. > -Dserver.http.port=$RDECK_HTTP_PORT"
  69. 40c52
  70. RDECK_JVM="$RDECK_JVM -Xmx3072m -Xms256m -XX:MaxPermSize=256m -server"
  71. ---
  72. > RDECK_JVM="$RDECK_JVM $RDECK_JVM_SETTINGS"
  73. 44,49c56,59
  74. #export RDECK_JVM="$RDECK_JVM -Drundeck.ssl.config=/etc/rundeck/ssl/ssl.properties -Dserver.https.port=${RDECK_HTTPS_PORT}"

  75. export RDECK_SSL_OPTS="-Djavax.net.ssl.trustStore=/etc/rundeck/ssl/truststore -Djavax.net.ssl.trustStoreType=jks -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol"

  76. #Enable local JMX monitoring
  77. #export RDECK_JVM="$RDECK_JVM -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9005 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
  78. ---
  79. > if [ -n "$RUNDECK_WITH_SSL" ] ; then
  80. > RDECK_JVM="$RDECK_JVM -Drundeck.ssl.config=$RDECK_SERVER_CONFIG/ssl.properties -Dserver.https.port=${RDECK_HTTPS_PORT}"
  81. > RDECK_SSL_OPTS="${RDECK_SSL_OPTS:- -Djavax.net.ssl.trustStore=$RDECK_TRUSTSTORE_FILE -Djavax.net.ssl.trustStoreType=$RDECK_TRUSTSTORE_TYPE -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol}"
  82. > fi
  83. 51,52c61
  84. if test -t 0 -a -z "$RUNDECK_CLI_TERSE"
  85. then
  86. ---
  87. > if [ -t 0 ] && [ -z "$RUNDECK_CLI_TERSE" ] ; then
  88. 57,60c66
  89. if test -n "$JRE_HOME"
  90. then
  91. unset JRE_HOME
  92. fi
  93. ---
  94. > unset JRE_HOME
  95. 62a69,70
  96. >
  97. > rundeckd="$JAVA_CMD $RDECK_JVM $RDECK_JVM_OPTS -cp $BOOTSTRAP_CP com.dtolabs.rundeck.RunServer $RDECK_BASE"
  98. [rundeck@sys rundeck]$
后来又翻看github,发现有人也已经发现这个问题了。
https://github.com/rundeck/rundeck/issues/2164
新添加了一个调度一次的按键,同时添加了自定义标题栏配置啥的,我修改了下,不过我的任务有点多,300多个,而且许多任务执行要好几个小时甚至几天,所以暂时不能重启看效果,好像rundeck-config.properties的配置修改后必须重启才能生效,这个有点不方便啊,毕竟线上的东西不可能经常性重启。

(添加了一个run job later ) ()添加了一个run job laterhttps://github.com/rundeck/rundeck/issues/2164
目录
相关文章
|
7月前
|
云计算
CloudStack Agent重新安装与卸载指南
CloudStack Agent重新安装与卸载指南
|
Linux
关于ZooKeeper在Linux端启动失败的问题解决方案
关于ZooKeeper在Linux端启动失败的问题解决方案
548 0
关于ZooKeeper在Linux端启动失败的问题解决方案
|
网络协议 Java 网络安全
OushuDB 安装与升级之命令行安装的安装准备(下)
安装其他节点YUM源 在oushum1上,通过“hawq scp”命令统一安装其他节点的YUM源
118 0
OushuDB 安装与升级之命令行安装的安装准备(下)
|
网络安全 数据安全/隐私保护 Linux
OushuDB 安装与升级之命令行安装的安装准备(上)
本节安装之前需要准备4台主机,各个节点上即将安装的组件如下表所示:
185 0
OushuDB 安装与升级之命令行安装的安装准备(上)
|
数据库 Windows 关系型数据库
手动升级 Confluence 6 - 升级 Confluence
4. 备份 备份你的数据库,并且确定的你的数据库备份已经被正确的创建了。 如果你的数据库不支持在线备份的话,你需要首先停止 Confluence 的运行。 备份你的 Confluence 安装目录(installation directory)和 Confluence Home 目录(home directory)。
1435 0
手动升级 Confluence 6 - 升级问题解决
升级失败了? 如果你需要对你的升级进行回退,你必须首先恢复你老的 Confluence 备份。不要尝试再次进行升级,也不要尝试再次对升级失败的 Confluence 进行再次启动。  在升级过程中遇到的一些常见问题... 因为许可证过期了而不能进行升级如果你的许可证已经过期了,但是你再升级时候还没有对许可证进行更新,你将会在升级的过程中收到许可证的提示。
893 0
|
应用服务中间件 数据库 Java
手动升级 Confluence - 开始升级之前
在本指南中,我们将会帮助你使用 zip / tar.gz 文件将你的 Confluence 安装实例在 Windows 或者 Linux 版本中升级到最新的版本。 升级到任何最新的版本都是免费的,如果你具有当前的软件维护许可证的话。
1076 0
|
测试技术 Windows 网络安全
手动升级 Confluence 6 - 升级以后
7. 重新安装服务(仅针对 Windows) 如果你的 Confluence 安装实例在 Windows 中是以服务来运行的话,你需要删除已经存在的 Windows 服务,然后重新安装 Windows 服务。
812 0
|
关系型数据库 数据库 Java
Confluence 6 升级以后
7. 拷贝你的数据库驱动 如果你现在使用的是 Oracle 或者 MySQL 数据库的话,你讲要重新拷贝 jdbc 驱动的 jar 文件到你已经存在的 Confluence 安装目录中 confluence/WEB-INF/lib ,这个目录在你的新安装目录下。
920 0
|
Java 数据库 数据中心
Confluence 6 在升级之前
在这个指南中,我们将会与你一同对最新的 Confluence 站点在 Windows 或者 Linux 平台进行安装和更新。 如果你的 Confluence 安装实例是当前的许可证的话,那么对 Confluence 进行升级是免费的。
998 0