【发布时间】:2018-02-28 09:13:14
【问题描述】:
我正在尝试创建用于安装 tomcat 8 的模块 puppet。 Tomcat 安装成功,添加了用户和角色,但是当 Tomcat 启动时出现以下问题...:
/Stage[main]/Main/Node[web_mzol]/Tomcat::Instance[tomcat8]/Tomcat::Config::Properties[/opt/tomcat-8.5 catalina.properties]/Concat[/opt/tomcat- 8.5/conf/catalina.properties]/Concat_file[/opt/tomcat-8.5/conf/catalina.properties]:无法使用“eval_generate”生成其他资源:“/opt/apache-tomcat/conf”的未定义方法“join” /catalina.properties":字符串
错误:无法启动服务[tomcat-tomcat8]:执行 'su -s /bin/bash -c 'CATALINA_HOME=/opt/apache-tomcat CATALINA_BASE=/opt/apache-tomcat /opt/apache-tomcat /bin/catalina.sh start'tomcat' 返回 127: bash: /opt/apache-tomcat/bin/catalina.sh: No such file or directory
如我所见,puppet 使用了错误的值变量“/opt/apache-tomcat”,但必须使用“/opt/tomcat-8.5”...或其他原因?
主清单 /etc/puppetlabs/code/environments/production/manifests/site.pp :
node 'web_mzol' {
package { 'nginx' :
ensure => installed,
} ->
service {'nginx':
ensure => running,
enable => true,
}
class { '::tomcat': }
class { '::java': }
tomcat::instance { 'tomcat8':
catalina_base => '/opt/tomcat-8.5',
source_url => 'https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.28/src/apache-tomcat-8.5.28-src.tar.gz',
}
-> tomcat::config::server::tomcat_users {
'tet-role-manager-script':
ensure => present,
catalina_base => '/opt/tomcat-8.5',
element => 'role',
element_name => 'manager-script';
'tet-user-mzol':
ensure => present,
catalina_base => '/opt/tomcat-8.5',
element => 'user',
element_name => 'mzol',
password => 'mzol',
roles => ['manager-script'];
}
-> tomcat::service { 'tomcat8':
}
}
node default {}
谢谢
【问题讨论】:
-
据我所知 $catalina_base 是单个主机上多个 tomcat 的可选变量。但是 $catalina_home 是默认值,在您的情况下,它可能已被您尝试使用 puppet 设置的 $catalina_base 覆盖。
-
如何解决?我尝试定义 catalina_home,但没有帮助,我遇到了同样的问题......
标签: linux tomcat centos puppet