Linux 木偶罐头';t启动tomcat模块

Linux 木偶罐头';t启动tomcat模块,linux,tomcat,centos,puppet,Linux,Tomcat,Centos,Puppet,我正在尝试为安装tomcat 8创建模块puppet。 Tomcat已成功安装,用户和角色已添加,但我在Tomcat启动时遇到以下问题…: /Stage[main]/main/Node[web\u mzol]/Tomcat::Instance[tomcat8]/Tomcat::Config::Properties[/opt/Tomcat-8.5 catalina.Properties]/Concat[/opt/Tomcat-8.5/conf/catalina.Properties]/Concat

我正在尝试为安装tomcat 8创建模块puppet。 Tomcat已成功安装,用户和角色已添加,但我在Tomcat启动时遇到以下问题…:

/Stage[main]/main/Node[web\u mzol]/Tomcat::Instance[tomcat8]/Tomcat::Config::Properties[/opt/Tomcat-8.5 catalina.Properties]/Concat[/opt/Tomcat-8.5/conf/catalina.Properties]/Concat\u文件[/opt opt Tomcat-8.5/conf/catalina.Properties]:无法使用“eval\u-generate”生成其他资源:未定义的方法“join”“/opt/apachetomcat/conf/catalina.properties”:字符串

错误:无法启动服务[tomcat-tomcat8]:执行'su-s/bin/bash-c'CATALINA_HOME=/opt/apache-tomcat-CATALINA_BASE=/opt/apache-tomcat/bin/CATALINA.sh start'tomcat'返回127:bash:/opt/apache-tomcat/bin/CATALINA.sh:没有这样的文件或目录

如我所见,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 {}
谢谢,我修好了

node 'web_mzol' {
  package { 'nginx' :
   ensure => installed,
  } -> # Order of the execution, service will be started after the installation
  service {'nginx': # Name of the service
   ensure => running, # Start the apache service
   enable => true, # Start on system boot
  }
 class { '::tomcat': }
 class { '::java': }

tomcat::instance { 'tom':
  catalina_home => '/opt/tomcat-8.5',
  source_url => 'https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.28/bin/apache-tomcat-8.5.28.tar.gz',
  catalina_base => '/opt/tomcat-8.5',
}
-> 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'];
}

据我所知,$catalina_base是单个主机上多个Tomcat的可选变量。但$catalina_home是默认值,在您的情况下,它可能已被您尝试使用puppet设置的$catalina_base覆盖。如何修复它?我尝试定义catalina_home,但它没有帮助,我遇到了相同的问题。。。