线上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文件替换。
不出所料,成功启动。
-
[rundeck@sys rundeck]$ diff -bBr profile2016-11-15 profile.rpmnew
-
1,2c1,17
-
< RDECK_BASE=/var/lib/rundeck
-
< export RDECK_BASE
-
---
-
> RDECK_INSTALL="${RDECK_INSTALL:-/var/lib/rundeck}"
-
> RDECK_BASE="${RDECK_BASE:-/var/lib/rundeck}"
-
> RDECK_CONFIG="${RDECK_CONFIG:-/etc/rundeck}"
-
> RDECK_SERVER_BASE="${RDECK_SERVER_BASE:-$RDECK_BASE}"
-
> RDECK_SERVER_CONFIG="${RDECK_SERVER_CONFIG:-$RDECK_CONFIG}"
-
> RDECK_SERVER_DATA="${RDECK_SERVER_DATA:-$RDECK_BASE/data}"
-
> RDECK_PROJECTS="${RDECK_PROJECTS:-$RDECK_BASE/projects}"
-
> RUNDECK_TEMPDIR="${RUNDECK_TEMPDIR:-/tmp/rundeck}"
-
> RUNDECK_WORKDIR="${RUNDECK_TEMPDIR:-$RDECK_BASE/work}"
-
> RUNDECK_LOGDIR="${RUNDECK_LOGDIR:-$RDECK_BASE/logs}"
-
> RDECK_JVM_SETTINGS="${RDECK_JVM_SETTINGS:- -Xmx1024m -Xms256m -XX:MaxPermSize=256m -server}"
-
> RDECK_TRUSTSTORE_FILE="${RDECK_TRUSTSTORE_FILE:-$RDECK_CONFIG/ssl/truststore}"
-
> RDECK_TRUSTSTORE_TYPE="${RDECK_TRUSTSTORE_TYPE:-jks}"
-
> JAAS_CONF="${JAAS_CONF:-$RDECK_CONFIG/jaas-loginmodule.conf}"
-
> LOGIN_MODULE="${LOGIN_MODULE:-RDpropertyfilelogin}"
-
> RDECK_HTTP_PORT=${RDECK_HTTP_PORT:-4440}
-
> RDECK_HTTPS_PORT=${RDECK_HTTP_PORT:-4443}
-
4,5d18
-
< JAVA_CMD=java
-
< RUNDECK_TEMPDIR=/tmp/rundeck
-
7,17c20,21
-
< RDECK_HTTP_PORT=4440
-
< RDECK_HTTPS_PORT=4443
-
<
-
< #
-
< # If JAVA_HOME is set, then add it to home and set JAVA_CMD to use the version specified in that
-
< # path. JAVA_HOME can be set in the rundeck profile. Or set in this file.
-
< #JAVA_HOME=<path/to/JDK or JRE/install>
-
<
-
< if [ ! -z $JAVA_HOME ]; then
-
< PATH=$PATH:$JAVA_HOME/bin
-
< export PATH
-
---
-
> # If no JAVA_CMD, try to find it in $JAVA_HOME
-
> if [ -z "$JAVA_CMD" ] && [ -n "$JAVA_HOME" ] && [ -x "$JAVA_HOME/bin/java" ] ; then
-
18a23,26
-
> PATH=$PATH:$JAVA_HOME/bin
-
> export JAVA_HOME
-
> elif [ -z "$JAVA_CMD" ] ; then
-
> JAVA_CMD=java
-
21,36c29,48
-
<
-
<
-
< export CLI_CP=$(find /var/lib/rundeck/cli -name \*.jar -printf %p:)
-
< export BOOTSTRAP_CP=$(find /var/lib/rundeck/bootstrap -name \*.jar -printf %p:)
-
< export RDECK_JVM="-Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf \
-
< -Dloginmodule.name=RDpropertyfilelogin \
-
< -Drdeck.config=/etc/rundeck \
-
< -Drdeck.base=/var/lib/rundeck \
-
< -Drundeck.server.configDir=/etc/rundeck \
-
< -Dserver.datastore.path=/var/lib/rundeck/data \
-
< -Drundeck.server.serverDir=/var/lib/rundeck \
-
< -Drdeck.projects=/var/rundeck/projects \
-
< -Drdeck.runlogs=/var/lib/rundeck/logs \
-
< -Drundeck.config.location=/etc/rundeck/rundeck-config.properties \
-
< -Duser.timezone=GMT+08 \
-
< -Djava.io.tmpdir=$RUNDECK_TEMPDIR"
-
---
-
> # build classpath without lone : that includes .
-
> for jar in $(find $RDECK_INSTALL/cli -name '*.jar') ; do
-
> CLI_CP=${CLI_CP:+$CLI_CP:}$jar
-
> done
-
> for jar in $(find $RDECK_INSTALL/bootstrap -name '*.jar') ; do
-
> BOOTSTRAP_CP=${BOOTSTRAP_CP:+$BOOTSTRAP_CP:}$jar
-
> done
-
>
-
> RDECK_JVM="-Djava.security.auth.login.config=$JAAS_CONF \
-
> -Dloginmodule.name=$LOGIN_MODULE \
-
> -Drdeck.config=$RDECK_CONFIG \
-
> -Drundeck.server.configDir=$RDECK_SERVER_CONFIG \
-
> -Dserver.datastore.path=$RDECK_SERVER_DATA/rundeck \
-
> -Drundeck.server.serverDir=$RDECK_INSTALL \
-
> -Drdeck.projects=$RDECK_PROJECTS \
-
> -Drdeck.runlogs=$RUNDECK_LOGDIR \
-
> -Drundeck.config.location=$RDECK_CONFIG/rundeck-config.properties \
-
> -Djava.io.tmpdir=$RUNDECK_TEMPDIR \
-
> -Drundeck.server.workDir=$RUNDECK_WORKDIR \
-
> -Dserver.http.port=$RDECK_HTTP_PORT"
-
40c52
-
< RDECK_JVM="$RDECK_JVM -Xmx3072m -Xms256m -XX:MaxPermSize=256m -server"
-
---
-
> RDECK_JVM="$RDECK_JVM $RDECK_JVM_SETTINGS"
-
44,49c56,59
-
< #export RDECK_JVM="$RDECK_JVM -Drundeck.ssl.config=/etc/rundeck/ssl/ssl.properties -Dserver.https.port=${RDECK_HTTPS_PORT}"
-
<
-
< 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."
-
<
-
< #Enable local JMX monitoring
-
< #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"
-
---
-
> if [ -n "$RUNDECK_WITH_SSL" ] ; then
-
> RDECK_JVM="$RDECK_JVM -Drundeck.ssl.config=$RDECK_SERVER_CONFIG/ssl.properties -Dserver.https.port=${RDECK_HTTPS_PORT}"
-
> 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.}"
-
> fi
-
51,52c61
-
< if test -t 0 -a -z "$RUNDECK_CLI_TERSE"
-
< then
-
---
-
> if [ -t 0 ] && [ -z "$RUNDECK_CLI_TERSE" ] ; then
-
57,60c66
-
< if test -n "$JRE_HOME"
-
< then
-
< unset JRE_HOME
-
< fi
-
---
-
> unset JRE_HOME
-
62a69,70
-
>
-
> rundeckd="$JAVA_CMD $RDECK_JVM $RDECK_JVM_OPTS -cp $BOOTSTRAP_CP com.dtolabs.rundeck.RunServer $RDECK_BASE"
-
[rundeck@sys rundeck]$
后来又翻看github,发现有人也已经发现这个问题了。
新添加了一个调度一次的按键,同时添加了自定义标题栏配置啥的,我修改了下,不过我的任务有点多,300多个,而且许多任务执行要好几个小时甚至几天,所以暂时不能重启看效果,好像rundeck-config.properties的配置修改后必须重启才能生效,这个有点不方便啊,毕竟线上的东西不可能经常性重启。
(添加了一个run job later )
()添加了一个run job later
阅读(1602) | 评论(0) | 转发(0) |