puppet tomcat6服务不接收环境变量

时间:2013-08-06 18:34:11

标签: environment-variables tomcat6 puppet

我正在使用Debian OS和tomcat6。

我导出CATALINA_OPTS =“ - Xms1024m -Xmx2048m”环境变量并创建一个木偶服务:

class tomcat6::service { 
    service { 'tomcat6':
        ensure => running,
        hasstatus => true,
        hasrestart => true,
        enable => true,
    }
}

当/usr/share/tomcat6/bin/catalina.sh读取CATALINA_OPTS变量以启动tomcat6服务时,该进程应该接收CATALINA_OPTS,但它不会显示在process命令中。我执行ps aux|grep catalina以显示命令详细信息:

tomcat6  10658  1.0  2.0 2050044 189572 ?      Sl   18:04   0:16 /usr/lib/jvm/default-        java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tomcat6-tmp org.apache.catalina.startup.Bootstrap start

Puppet没有正确接收CATALINA_OPTS。

我的问题是,在执行puppet tomcat6服务时如何让puppet读取CATALINA_OPTS?

谢谢。

2 个答案:

答案 0 :(得分:0)

而不是

hasstatus => true,

hasstatus => false,

通过执行此操作,您将强制木偶查找proc表并找到守护程序,或者换句话说,这将使木偶在执行任何其他操作之前运行ps auxw | grep tomcat6

hasstatus => true告诉我,如果puppet收到status != running,它会按指示执行,但在某些情况下,有几个守护进程无法正确返回状态(可能是由于涉及多个线程)

答案 1 :(得分:0)

我通过为tomcat6设置setenv.sh来修复此问题。它运作正常。