创建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中查看集群分布: