solrCloud可以提供分布式索引和搜索
分布式索引:可以提高服务性能,降低服务负载
分布式搜索:分担负载量,提高搜索性能
solrCloud是通过集群方式实现,可以通过zookeeper来创建集群具体参见:
http://blog.csdn.net/cindy_jymm/article/details/53928595
zookeeper管理的好处:
1、配置统一管理
2、实现负载均衡
solrCloud的搭建过程
1、部署solr
2、创建数据索引路径用于存放数据,并将solr中的solr.xml文件放在改路径下
假设路径为:/opt/xx/node
3、修改索引路径下的solr.xml文件中的hostPort配置,改成部署的solr服务端口
4、部署zookeeper,并创建集群
5、在solr的启动文件catalina.sh下修改JAVA_OPTS的数据,增加 Dsolr.solr.home=/opt/xx/node -DzkHost=XX.XX.XX.XX:XXXX-DzkClientTimeout=15000",增加后启动solr
6、在cmd端通过zk服务器的命令将本地配置上传,上传后所有在集群中的solr服务均有该配置
执行下列命令前需要将cmd切换到D:\war\solr-6.0.1\server\scripts\cloud-scripts下
zkcli -zkhost XX.XX.XX.XX:XXXX -cmd upconfig -d “D:\war\solr-6.0.1\server\solr\configsets\text” -n text
7、配置上传完成后创建链接:
http://xx.xx.xx.xx:port/solr/admin/collections?action=CREATE&name=colletionName&numShards=2&replicationFactor=1&maxShardsPerNode=2
numShards:每台服务器上的分片数
replicationFactor:每个分片上的副本数
maxShardsPerNode:每台服务器上允许的最大分片数
cloud集群的上面三者的关系必须遵守:
numShardsreplicationFactor < solr在集群中的服务数量maxShardsPerNode
扩充内容:
增加副本(ADDREPLICA)
http://ip:port/solr/admin/collections?action=ADDREPLICA&collection=collectionname&shard=shard1&node=ip:port_solr
给collectionname集合的shard1分片上创建副本,且副本在ip:port_solr这台服务器上
删除一个集合
http://ip:port/solr/admin/collections?action=DELETE&name=collectionname