tomcat - 无法使用 Puppet 在 Tomcat 上部署 Solr

标签 tomcat solr tomcat6 puppet vagrant

我正在尝试使用 Puppet 在 Tomcat 上部署 Solr。当 solr.war 被复制到 /var/lib/tomcat6/webapps/solr.war 时,Tomcat 需要一些时间来注意到新添加的文件并部署它。其中一个部署步骤涉及将 .war 文件扩展到 /var/lib/tomcat6/webapps/solr/ 目录。

问题:我正在尝试将更多文件(如 apache-solr-dataimporthandler-3.6.1.jar)添加到 /var/lib/tomcat6/webapps/solr/ tomcat 部署了solr.war 并创建了这个结构。如果我在 tomcat 之前创建了文件夹 /var/lib/tomcat6/webapps/solr/,这是我下面的 list 所做的,tomcat 将不会部署 Solr。

在将文件添加到新创建的目录之前,是否可以让 Puppet 等待 tomcat 部署 solr?

list

class solr {

  file { '/var/lib/tomcat6/webapps/solr.war':
    ensure => present,
    owner   => root,
    group   => root,  
    mode    => 644,   
    source => 'puppet:///modules/solr/apache-solr-3.6.1.war',
    notify => Service['tomcat'],
  }

  file { '/usr/share/solr':
    ensure => present,
    source => 'puppet:///modules/solr/solr',
    recurse => true,
    require => File['/var/lib/tomcat6/webapps/solr.war'],
    notify => Service['tomcat'],
  }

  $solr_dirs = [ "/var/lib/tomcat6/webapps/solr/", "/var/lib/tomcat6/webapps/solr/WEB-INF/", 
                  "/var/lib/tomcat6/webapps/solr/WEB-INF/lib/"]
  file { $solr_dirs:
      ensure => "directory",
  }

  file { '/var/lib/tomcat6/webapps/solr/WEB-INF/web.xml':
    ensure => present,
    owner   => root,
    group   => root,  
    mode    => 644,   
    source => 'puppet:///modules/solr/web.xml',
    require => File[$solr_dirs],
  }

  file { '/var/lib/tomcat6/webapps/solr/WEB-INF/lib/apache-solr-dataimporthandler-3.6.1.jar':
    ensure => present,
    owner   => root,
    group   => root,  
    mode    => 644,   
    source => 'puppet:///modules/solr/apache-solr-dataimporthandler-3.6.1.jar',
    require => File[$solr_dirs],
  }


}

最佳答案

您实际上不需要将这些附加文件添加到 solr war 文件中。通常最好让 war 保持原样。这些文件可以添加到您的 solr_home,它也位于应用程序服务器之外的其他地方。由于您提到了一个 jar 文件,您可以在 solrconfig.xml 中配置 jar 的路径。 .这样它们将在启动时从 Solr 加载。看看this page也是。

关于tomcat - 无法使用 Puppet 在 Tomcat 上部署 Solr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12803693/

相关文章:

java - 查看Tomcat的JNDI树

linux - Solr服务器安装问题

java - org.springframework.beans.factory.BeanDefinitionStoreException : Failed to read candidate component class: file [MyXYZ. 类]

java - httprequest.getsession 返回 null

tomcat - 如何制作 Tomcat 6 服务器 JSON 内容

java - Tomcat 6.0.35 和 Java 8

java - 配置加载失败如何停止tomcat

java - WELD-001201 : Error loading beans. xml + Tomcat 7.0.59

java - Tomcat重定向到旧文件

java - Solr,如何在 schema.xml 中定义嵌套文档