我正在使用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?
谢谢。
答案 0 :(得分:0)
而不是
hasstatus => true,
把
hasstatus => false,
通过执行此操作,您将强制木偶查找proc表并找到守护程序,或者换句话说,这将使木偶在执行任何其他操作之前运行ps auxw | grep tomcat6
。
hasstatus => true
告诉我,如果puppet收到status != running
,它会按指示执行,但在某些情况下,有几个守护进程无法正确返回状态(可能是由于涉及多个线程)
答案 1 :(得分:0)
我通过为tomcat6设置setenv.sh来修复此问题。它运作正常。