sstutu 发表于 2015-5-14 14:52:43

solr如何配置多核

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

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

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



在solr.xml里面和单核心不同在于节点cores下面,
<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中的配置就是
<core name="collection1" instanceDir="collection1" />
<core name="core1" instanceDir="core1" />

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

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

进入/tomcat/solr目录,执行以下命令
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的文件.内容为:

#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?
http://wiki.apache.org/solr/CoreAdmin



sstutu 发表于 2015-5-14 14:54:23

为何使用多core
Solr实例支持多core比启用多index要好(do more)。多core同时解决了在生产环境下的一些关键需求:
1.重建索引
2.测试配置变更
3.合并索引
4.运行时重命名core
为何多core不是默认的?
多core是1.3版本中才加的,1.4后更成熟。我们强烈建议你使用多core,既是你现在的solr.xml只配置了一个core,虽然会比单个索引稍复杂,但可以带来管理core上的好处。或许一天单个core可能最终RELOAD and STATUS命令,又或许单个core最终会被废禁。多个core会是Solr将来支持大规模分布式索引的关键。因此,以后可以期待更多。


页: [1]
查看完整版本: solr如何配置多核