2012-10-09 3 views
0

퍼핏을 사용하여 Tomcat에 Solr을 배치하려고합니다. solr.war/var/lib/tomcat6/webapps/solr.war으로 복사되면 Tomcat은 새로 추가 된 파일을 확인하고 배포하는 데 약간의 시간이 걸립니다. 배포 단계 중 하나는 .war 파일을 /var/lib/tomcat6/webapps/solr/ 디렉터리로 확장하는 것입니다.꼭두각시를 사용하여 Tomcat에 Solr을 배치 할 수 없습니다.

문제 : solr.war를 배포하고이 구조를 생성 한 /var/lib/tomcat6/webapps/solr/ 후 바람둥이로 (apache-solr-dataimporthandler-3.6.1.jar 같은) 파일을 추가하려고. Tomcat이 수행하기 전에 폴더 /var/lib/tomcat6/webapps/solr/을 만든 경우, 아래에서 내 매니페스트가 수행하는 작업이며, Tomcat은 Solr을 배포하지 않습니다.

Puppet이 새로 만든 디렉토리에 파일을 추가하기 전에 tomcat이 solr을 배포 할 때까지 기다릴 수 있습니까?

매니페스트

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], 
    } 


} 
+0

내 대답 좀 보셨습니까? 유용 했습니까? – javanna

+0

네, 고마워요! 꼭 꼭 필요한 것, 다른 사람들도 퍼핏은 전개를위한 것이 아니며 솔버를 데비안 패키지로 패키징해야한다고 말하고 있음에도 불구하고 – Nyxynyxx

답변

2

당신은 정말 SOLR 전쟁 파일에 그 파일을 추가 할 필요가 없습니다. 보통 전쟁을 그대로 두는 것이 낫습니다. 이러한 파일은 응용 프로그램 서버 외부의 다른 곳에서도 solr_home에 추가 할 수 있습니다. jar 파일을 언급 했으므로 solrconfig.xml에서 jar의 경로를 구성 할 수 있습니다. 그렇게하면 그들은 시작할 때 Solr로부터로드 될 것입니다. this page도 확인하십시오.

관련 문제