2013-05-30 8 views
3

Elastic Beanstalk에서 SOLR 서버를 실행하고 싶습니다. 그러나 웹에서 그 점을 많이 알 수는 없습니다.Elastic Beanstalk의 SOLR

어떤 사람들은 이미 그것을 사용하고 있기 때문에 어떻게 든 가능해야합니다. (https://forums.aws.amazon.com/thread.jspa?threadID=91276 즉)

내가 어떻게 할 수 있습니까?

어쨌든 solr warfile을 환경에 업로드 할 수 있지만 복잡해집니다. config 파일과 index 디렉토리를 어디에 두어 각 인스턴스가 연결할 수 있습니까?

+0

행운이 있나요? –

답변

2

편집 :이 답변은 2013 년 이후입니다. 여기에 언급 된 제품은 발전했을 가능성이 큽니다. solr 클러스터링 위키의 변경 사항을 반영하기 위해 문서 링크를 업데이트했습니다. 이 정보를 읽은 후에 연구를 계속하는 것이 좋습니다.

ORIGINAL : 단일 서버 배포 만 사용하려는 경우 beanstalk 인스턴스에서 solr을 실행하는 것이 좋습니다. 앱을 확장하고자하는 경우 beanstalk 환경을 구성하여 solr cluster을 만들거나 CloudSearch와 같은 것으로 이동해야합니다. ec2 라이프 사이클 및 배포 환경에 익숙하지 않은 경우 CloudSearch가 거의 확실하게 시간을 절약 할 수 있습니다 (금액 읽기).

당신이 그때 당신은 다음과 같은 내용으로 .ebextensions/solr.config라는 지역의 repo에 파일을 추가하여 실행 레이크을 사용할 수있는 단일 인스턴스에 SOLR를 실행하려는 경우 :

container_commands: 
    01create_post_dir: 
    command: "mkdir -p /opt/elasticbeanstalk/hooks/appdeploy/post" 
    ignoreErrors: true 
    02killjava: 
    command: "killall java" 
    test: "ps uax | grep java | grep root" 
    ignoreErrors: true 

files: 
    "/opt/elasticbeanstalk/hooks/appdeploy/post/99_start_solr.sh": 
    mode: "755" 
    owner: "root" 
    group: "root" 
    content: | 
     #!/usr/bin/env bash 
     . /opt/elasticbeanstalk/support/envvars 
     cd $EB_CONFIG_APP_CURRENT 
     su -c "RAILS_ENV=production bundle exec rake sunspot:solr:start" $EB_CONFIG_APP_USER 
     su -c "RAILS_ENV=production bundle exec rake db:seed" $EB_CONFIG_APP_USER 
     su -c "RAILS_ENV=production bundle exec rake sunspot:reindex" $EB_CONFIG_APP_USER 

명심하시기 바랍니다 자동 조절을 사용하는 경우 혼란이 발생합니다.

관련 문제