分享到:

solrCloud 4.9 分布式集群部署及注意事项

环境搭建

一.zookeeper

参考:http://blog.chinaunix.net/uid-25135004-id-4214399.html

  

二.solrCloud

参考:http://lucien-zzy.iteye.com/blog/2002463

1.安装tomcat,配置端口。部署solr.war,将solrexamplelibext下的jar拷贝到solrWEB-INFlib下。

2.创建

/home/solr/solrcloud

/home/solr/solrcloud/config-files (放置solrexamplesolrcollection1conf 下的所有文件)

/home/solr/solrcloud/solr-lib (放置solrWEB-INFlib下的所有jar包)

3.配置中文分词器

4.创建solr数据目录

/home/solr/solr-cores

生成solr.xml,如下:

5.创建

tomcat/conf/Catalina

tomcat/conf/Catalina/localhost

并创建solr.xml

docBase根据实际情况配置;

solr/home为之前创建的目录:/home/solr/solr-cores

6.修改tomcat/bin/cataina.sh 文件,在最上方加入:JAVA_OPTS="-DzkHost=master:2181,slave1:2181,slave2:2181",或直接使用ip。

将以上配置发布到集群其他机器上。

7.SolrCloud是通过ZooKeeper集群来保证配置文件的变更及时同步到各个节点上,所以,需要将配置文件上传到ZooKeeper集群中。执行如下操作:

-cmd upconfig:上传配置文件

-confdir:配置文件的目录

-confname:指定对应的名称

-cmd linkconfig:为指定collection"绑定"配置文件

-collection

-confname

8.检查zookeeper的配置信息

zkCli.sh -server ip:port

ls /configs/myconf

ls /live_nodes

9.启动tomcat,创建collection

action:CREATE

name:collection名称

numShards:分片数量

replicationFactor:副本集数量

也可以通过zk查询collection的情况:ls /collections/mycollection

 

-------------------------------

1.ZK CLI

ZooKeeper's Command Line Utility (CLI).

zkcli Parameters

ZooKeeper CLI Examples

Below are some examples of using the zkcli CLI:
Uploading a Configuration Directory

Put arbitrary data into a new ZK file

Put a local file into a new ZK file

Linking a Collection to a Configuration Set

Bootstrapping All the Configuration Directories in solr.xml

Scripts

There are scripts in example/cloud-scripts that handle the classpath and class name for you if you are using Solr out of the box with Jetty. Commands then become:

 

2.Managing collections via the collections API

CREATE---

name:collection的名称

numShards:指定分片数量(slices)

replicationFactor:副本数量

maxShardsPerNode:默认值为1,注意三个数值:numShards、replicationFactor、liveSolrNode,一个正常的solrCloud集群不容许同一个liveSolrNode上部署同一个shard的多个replic,因此当maxShardsPerNode=1时,numShards*replicationFactor>liveSolrNode时,报错。因此正确时因满足以下条件:
numShards*replicationFactor

createNodeSet:

collection.configName:指定该collection使用那份config,这份config必须存在于zk中。

DELETE---

RELOAD---

SPLIT SHARD---

 

3.Creating cores via CoreAdmin

 

 

-------------------------------

Q1:Multiple schemas in the same SolrCloud ?

指定配置文件,上传到zk。

为创建的collection指定collection.configName。