SolrCloud
SolrCloud是solr的一组分布式特性的名称。启用这些特性可以用来建立高可用性,容错性、分布式的索引和搜索功能。solr实际上实用的是一个叫做solrCore的单独的一份索引,如果使用solrCloud可以把一个索引建立在多个solr实例上面,这样就意味着一份单独的索引建立在分布在多台机器上面的solrCore上面。
Solr内嵌了zookeeper用来做集群配置的管理.
- 1.两个shard的例子搭建
这个例子实际上就是起了两个solr实例组成了一个集群
参考官网的例子,首先进入例子工程中把data下面的数据删除,然后拷贝一份example目录出来
rm -r example/solr/collection1/data/*
cp -r example example2
然后使用命令启动
java -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DzkRun -DnumShards=2 -jar start.jar
启动后进入界面发现左侧菜单多了个cloud菜单
然后启动第二个实例
cd example2
java -Djetty.port=8985 -DzkHost=localhost:8984 -jar start.jar
Djetty.port是用来设置启动的时候jetty的端口的。
DzkHost是用来设定zookeeper的地址和端口的。solr服务内嵌的zookeeper的端口默认是solr的端口+1000,所以这里是9984,我吧端口改了,不是默认的8983了,改成了8984。
启动完成后在图表中就可以看到两个shard了
- 2.两个shard并且带shard复制的的例子搭建
只有两个shard的时候,如果一个服务挂了,这个服务上的内容就不可用了,类似于数据库,所以需要做一个备份。