Estou tentando configurar duas instâncias do Solr no mesmo host e gostaria de substituir solr.home
cada instância.
Eu criei dois arquivos Catalina/localhost/
conforme sugerido no wiki do Solr Tomcat :
$ cat solr-prod.xml
<Context docBase="webapps/solr-prod.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/opt/solr-prod/home" override="true" />
</Context>
$ cat solr-qa.xml
<Context docBase="webapps/solr-qa.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/opt/solr-qa/home" override="true" />
</Context>
Por falar nisso. Já tentei usar caminho absoluto, mas sem sucesso.
No entanto, ao reiniciar o Tomcat, ele está ignorando minha configuração:
$ sudo sh -x /etc/init.d/tomcat7 start
...
+ catalina_sh start
+ sed s/\"/\\\"/g
+ echo -Djava.awt.headless=true -Dsolr.solr.home=/opt/solr/home -Dsolr.data.dir=/opt/solr/data -Xmx128m -XX:+UseConcMarkSweepGC
+ JAVA_OPTS=-Djava.awt.headless=true -Dsolr.solr.home=/opt/solr/home -Dsolr.data.dir=/opt/solr/data -Xmx128m -XX:+UseConcMarkSweepGC
definindo o seu próprio -Dsolr.solr.home
e -Dsolr.solr.home
que não sei de onde vem.
Os arquivos de configuração acima são carregados e executados de acordo com o Tomcat Web Application Manager em /manager/html
.
O problema é que quando estou acessando minhas instâncias do Solr4 via web, vejo que os Args estão configurados para ambos como:
-Dsolr.data.dir=/opt/solr/data
-Dsolr.solr.home=/opt/solr/home
Portanto, parece que minha variável de ambiente é ignorada por algum motivo e é substituída pelo argumento.
Eu não tenho /opt/solr
argumento codificado em nenhum lugar dentro de /var/lib/tomcat7
, /usr/share/tomcat7
ou em WEB-INF/web.xml
(que é comentado).
Alguma ideia de como configurar essas variáveis de ambiente corretamente?
Encontrei essas configurações padrão para
solr.home
esolr.data
no/etc/default/tomcat7
.Outros locais possíveis podem ser:
/usr/share/tomcat7/defaults.template
como parte deJAVA_OPTS
.Removendo as variáveis solr de lá, permite usar instâncias solr separadas de acordo com os arquivos de configuração definidos em
conf/Catalina/localhost
.Portanto, para cada instância, devem ser criados arquivos XML separados.
Por exemplo:
onde é
value
osolr/home
caminho para solr,/opt/solr/home
ou/var/lib/solr
(qualquer caminho que você tenha ou já tenha escolhido).