创建solr集群简述

综述:

用两台服务器,每台服务器上启动两个solr实例(端口分别为8983、7574),即一共有2x2=4个节点。4个节点分散在两个分片上,每台机器上存放两个分片的各一个replica,这样等于每台机器上的数据都是全量的,即使一台down掉,另一台仍能够提供服务。

需要一个zookeeper用来做分片leader选举和配置文件管理。往zk上上传collection配置文件的过程跳过。

1.准备两台局域网服务器

2.将solr5.1安装文件夹分别拷贝到两台电脑

3.将安装目录下server文件夹复制为2份,每份对应一个本机上的一个solr实例,可用端口号区分,如server_8983、server_7574

4.分别在两台电脑上启动2个实例

sh bin/solr start -c -p 8983 -d server_8983/ -z 10.172.85.105:2181

sh bin/solr start -c -p 7574 -d server_7574/ -z 10.172.85.105:2181

5.创建collection,在任意一台服务器上执行:

curl 'http://127.0.0.1:8983/solr/admin/collections?action=CREATE&name=default-collection&instanceDir=default-collection&dataDir=data&config=solrconfig.xml&schema=schema.xml&numShards=2&collection.configName=default-configset&replicationFactor=2'

6.创建collection后,会自动创建4个core(每个solr实例对应一个core),自动的创建core可能并不是按照我们想要的情况分布在shard上,可以删除自动创建的core(注:删除core时必须在url中指定core所在的服务器/端口):

 curl 'http://localhost:8983/solr/admin/cores?action=UNLOAD&core=default-collection_shard2_replica1'

7.手动创建4个core,指定(服务器/端口指明添加core到哪个solr实例,collection和shard指定要把core创建到哪个collection哪个shard):

curl 'http://localhost:7574/solr/admin/cores?name=default-collection_shard2_replica2&action=create&collection=default-collection&shard=shard2'

完成,完成后可以在Cloud-Graph中查看集群分布:

原文地址:https://www.cnblogs.com/sheeva/p/5481268.html