文章目录
独立服务器模式(单机)
适用于数据规模不大的场景
架构
独立服务器模式就是第二篇讲到的单机安装的模式,如下架构:
说明:
- 每个solr服务器实例(启动的一个solr服务器进程)都有一个solr主目录。启动服务器实例时须为实例指定主目录(默认为:安装默认下的server/solr目录)。
- solr主目录中存放该服务器实例托管的内核。
- 一个solr服务器实例中可托管多个内核。
- 每个主目录下必须有solr.xml才能启动实例!!!
启动和停止solr服务实例命令:
- bin/solr start –s xxxdir –p port
- bin/solr stop –p port
创建一个新实例
以windows下进行讲解。
第一步:在D盘创建Solr主目录D:\test\solr
第二步:将solr安装的默认主目录下的solr.xml(我这里为D:\Program Files\solr-7.5.0\server\solr)拷贝到D:\test\solr下
第三步:然后在命令窗口输入如下命令
solr.cmd -s D:\test\solr -p 9999
成功启动如下:
查看状态:solr status
Solr主目录结构
core内核目录结构
SolrCloud分布式集群模式
适用于数据量大、高并发、高可用、实时响应的场景。
架构
SolrCloud模式下的索引将会被分割成多个分片存储到集群的不同节点上,而且每个分片又有备份,也会被存储在不同的节点上。每个节点通过zookeeper注册中心关联起来。
- 独立服务器模式下,索引被称为内核
- SolrCloud模式下,索引被称为集合,而内核存储的是集合分片的备份
SolrCloud启动方式
内嵌的zookeeper
如果使用内嵌的zookeeper的话,则需要先启动内嵌的zookeeper的第一个solrNode节点服务,如下命令:
bin/solr start -c -p [port] -s [solrhome]
- 注意:启动该实例后,对应的zookeeper实例端口为:solr实例端口+1000
然后其他节点的启动,如下命令:
bin/solr start -c -p [port] -s [solrhome] -z [zkhost]:[zkport]
搭建SolrCloud集群
我们来在本地进行集群的演练。
第一步:创建两个节点主目录
D:\test\solrCloud\node1
D:\test\solrCloud\node2
第二步:拷贝配置文件
- 将solr安装目录下(D:\Program Files\solr-7.5.0\server\solr)的默认配置文件solr.xml和zoo.cfg拷贝到node1下
- 将solr安装目录下(D:\Program Files\solr-7.5.0\server\solr)的默认配置文件solr.xml拷贝到node2下
第三步:启动,先启动有zoo.cfg的节点,再启动其他节点
solr.cmd -c -s D:\test\solrCloud\node1 -p 7001
solr.cmd -c -s D:\test\solrCloud\node2 -p 7002 -z localhost:8001
第四步:访问任意一台节点,查看界面和独立服务器的差异
http://localhost:7001
http://localhost:7002
创建和删除集合
#创建集合1
bin/solr create -c collection01 -d _default -shards 2 -replicationFactor 2 -p 7001
#创建集合2
bin/solr create -c collection02 -d sample_techproducts_configs -shards 2 -replicationFactor 2 -p 7001
#删除集合
bin/solr delete -c collection01 -p port
- collection01:集合名称,随便取
- _default:使用solr安装后默认的数据
- -shards 2:表示该集合分片数为2
- -replicationFactor 2:表示每个分片数都有2个备份
- -p 7001:表示指定哪一个solr实例,SolrCloud任意指定即可,都会同步到其他节点
创建完毕后,登陆控制台查看:
提交数据到集合中
#Linux/Mac命令
bin/post -c collection01 -p 7001 example/exampledocs/*
#Windows命令,进入solr安装主目录
java -jar -Dc=collection01 -Dport=7001 -Dauto example\exampledocs\post.jar example\exampledocs\* -p 7001
登陆web控制台,查看分片已经有文档数量了:
独立zookeeper
若使用独立的zookeeper,需要先启动zookeeper。
这里暂不介绍。