solr多核配置

假设已经配置好了一个单core的solr服务器.

###solr.xml配置文件
单核和多核主要在solr.xml配置不同.在solr/example中已经有一个名称为multicore的文件夹里面给我们配置好了一个两个核心的配置,分别是core1core2.但是我只是想在我已经配置好的solr服务器上添加一个核心.所以需要拷贝solr.xml配置到tomcat/solr文件夹

1
2
/solr-4.10.1/example/multicore$ sudo cp solr.xml  /usr/local/tomcat/solr/

在solr.xml里面和单核心不同在于节点cores下面,

1
2
3
4
5
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
.....
<core name="coren" instanceDir="coren"/>

name为core名称,instanceDir为core的目录.将名称和目录修改成对应的名称和目录即可.名字和目录名称可以使随意的.

###创建core1的目录

比如我第一个core的名字和目录都为collection1,第二个打算为core1.那么solr.xml中的配置就是

1
2
3
<core name="collection1" instanceDir="collection1" />
<core name="core1" instanceDir="core1" />

这里我们需要一个core1的目录,每个core目录里面都必须包含一个data目录,用来存储索引文件.包括一个conf目录,用来存储配置文件.

conf目录里面需要包括schema.xmlsolrconfig.xml两个基本的配置文件.conf目录可以直接拷贝一个基本的配置来自己修改.

进入/tomcat/solr目录,执行以下命令

1
2
3
4
5
sudo mkdir -p core1/data
cd core1
sudo mkdir conf
sudo cp -rf ../collection1/conf/* conf/ #这里我直接拷贝的collection1的配置

###在gui界面添加

点击Core Admin->Add Core,在new_core和instanceDir里填写core1,其他不变,点击按钮Add Core,加载后,就可以再界面上管理添加的core了.

在回到刚刚创建的core1目录.这里已经创建了一个core.properties的文件.内容为:

1
2
3
4
5
6
7
#Written by CorePropertiesLocator
#Tue Dec 02 06:21:36 UTC 2014
name=core1
config=solrconfig.xml
schema=schema.xml
dataDir=data

重启tomcat.如果发现一下错误.是由于solr.xml文件中没有添加指定的core节点

There exists no core with name “core1”

关于solr多核的详情wiki
Quick Review: What are Multiple Cores?

作者

张巍

发布于

2014-12-02

更新于

2014-12-02

许可协议

评论