solr在Linux上配置多个core

本安装过程是基于http://www.cnblogs.com/AndreMouche/archive/2011/07/06/2099390.html安装solr的基础上展开的。


1.只要将example/multicore拷贝到某个目录,以此目录作为solr.home:

 这里我将该文件拷贝到了/var/lib/tomcat6/下:
 sudo cp -R software/apache-solr-1.4.1/example/multicore/  /var/lib/tomcat6/
2.然后设置”solr.home=/path/to/multicore”:
 根据上次部署的solr情况,找到 /var/lib/tomcat6/webapps/solr/WEB-INF/web.xml,找到部署solr-home所在位置的代码块,修改为multicore对应的目录
 即修改为如下代码块,红色部分为修改部分
   <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>
/var/lib/tomcat6/multicore</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
注意:如果在部署solr时,不是直接在WEB-INF/web.xml文件中配置solr-home,则直接到原来部署solr.home的文件修改即可
3. 设置tomcat6访问multicore的权限: sudo chown -R tomcat6:tomcat6 /var/lib/tomcat6/multicore/
 
 
4.重启tomcat,打开solr的admin界面若看到出现多个core,表明已成功。
core的配置。
   
 A.管理core的数量
  这里,我在原有的基础上新增了core2,步骤如下:
  a.在multicore/目录下新建core2目录,拷贝core1下的conf到core2下。
  b.修改solr.xml文件部分信息如下:
  
  <cores adminPath="/admin/cores">
    <core name="core0" instanceDir="core0" />
    <core name="core1" instanceDir="core1" />
    <core name="core2" instanceDir="core2" />
  </cores>
    
B.对每个core的理解与配置:
   每个core目录下的conf文件对应于未使用multicore时的conf文件,配置方法与原先一致。
   
对3的补充说明:
  注意存放索引的data文件权限,必须赋予tomcat6可修改的权限,否则访问时会出现类似无法找到core信息的错误。
  根据我的安装情况,我采用的是将索引放在默认data文件下,即每个core的存放索引的文件data将出现在其所在的core目录下.
  但此时查看multicore的每个core目录下会发现,只有conf文件,而并没有所谓的data文件夹,需要自己建么?可以自己建,但必须赋予tomcat6修改这些data文件夹的权限
  这里我用了一个比较偷懒的方法是,直接赋予tomctat6修改multicore的权限,这样服务器运行时,会自动在每个core先建立data文件存放索引。
注意:每次修改配置文件后,如想看到改变的效果,必须重启tomcat.  或者修改tomcat的配置文件,使得其能自动更新。

posted @ 2011-07-31 18:08  AndreMouche  阅读(1610)  评论(0编辑  收藏  举报