Solr学习2——集群部署与配置
一、Solr两种部署模式介绍
1.Standalone Server
独立服务器模式 适用于数据规模不大的场景。
说明:
- 每个solr服务器实例(启动的一个solr服务器进程)都有一个solr主目录(系统变量名为:solr.solr.home)。启动服务器实例时须为实例指定主目录(默认为:server/solr目录)。
- solr主目录中存放该服务器实例托管的内核。
- 一个solr服务器实例中可托管多个内核。
Solr主目录介绍:
core 内核目录结构:
core 内核详解:
内核:是在Solr服务器中的唯一命名的、可管理和可配置的索引。一台solr服务器可以托管一个或多个内核。
内核的典型用途:区分不同模式的文档
创建内核:
bin/solr create [options]
bin/solr create –c mycore –p 8983
-c 内核的名字(必需).
-d 内核配置目录。默认_default.
-p 创建命令要发送到的solr服务实例的端口。如未指定则获取本机运行的solr服务实例列表的第一个。
2.SolrCloud
分布式集群模式 适用于数据规模大,高可靠、高可用、高并发的场景
索引可分割成多个片存储到集群的不同节点上,每个分片有备份,存储在集群的不同节点上。
solrCloud中以 collection(集合)来称呼索引,内核存储的是集合分片(shard)的备份(replication)。
二、搭建SolrCloud环境
安装
1.依赖: java1.8,独立的zookeeper服务,不建议用内嵌zk
2.上传solr安装包,解压
3.bin目录下安装脚本参数说明:
./install_solr_service.sh -help
-i 指定软件安装目录。默认 /opt
-d 指定数据目录(solr主目录):内核存储目录 。默认 /var/solr
-u 指定要创建的拥有solr的用户名,出于安全考虑,不应以root来运行。默认 solr
-s 指定系统服务名。默认 solr
-p 指定端口。默认 8983
配置
1.系统服务脚本: /etc/init.d/solr 请查看该脚本内容,看系统启动时是如何启动solr服务实例的。 可看到使用了如下三个变量:
2.环境参数配置文件(官方叫法:include file):/etc/default/solr.in.sh。它将覆盖 bin/solr启停控制脚本中的配置参数。我们通过该文件来配置修改solr服务实例的运行配置。
3.在/etc/default/solr.in.sh中配置如下参数
- 调整solr实例的内存,默认solr使用512M的堆内存。
SOLR_HEAP="6000M"
- 配置ZK_HOST,让服务实例以solrCloud模式运行。设置chroot。Solr默认使用zookeeper的/为其根目录,在多应用共用zookeeper的情况下,为避免冲突,应该在单独的子节点(如/solr)下来存储solr的配置信息。这个节点需事先创建好,然后配置如下:
ZK_HOST=zk1,zk2,zk3:2181/solr7
- 设置SOLR服务的主机名,在solrCloud模式下强烈建议配置。不设置则使用的是ip。
SOLR_HOST=solr1.example.com
- (可选)为solrconfig.xml中用到的动态参数提供值
SOLR_OPTS="$SOLR_OPTS -Dsolr.autoSoftCommit.maxTime=10000"
4.solr服务实例配置文件 solr.xml:配置服务实例的参数及内核通用配置参数。
在独立服务器模式下,主目录下必需有solr.xml。而在solrCloud模式下,如果zookeeper中放置有solr.xml ,则会从zookeeper中复制到主目录。
solr.xml 文件结构:
The <solr> Element
The <solrcloud> Element
The <logging> Element
The <shardHandlerFactory> Element
The <metrics> Element
通常我们不需要去做什么配置。但需要了解都有什么配置参数,可以来改变solr的运行行为。
solr.xml配置参数说明
5.启动SolrCloud服务
- 独立的zookeeper,需先启动zookeeper
- 已经事先在solr.in.sh中配好了zk地址和solr主目录,可直接执行
./solr start
启动实例
6.配置集合和内核
可以通过管理界面或者直接用命令行来创建集合,我习惯用前者。
此处的config set需要事先向zk中上传配置文件,路径为/chroot/configs
创建完成后可以*删减replica,或者删除collection
总结
至此,就搭建好了SolrCloud环境,之后就针对collection做配置,在solrconfig.xml中配置集合参数,在schema.xml中配置文档字段,就大功告成了。
下一篇: 查看某个端口被占用
推荐阅读
-
Linux计划任务Crontab学习笔记(2):基本组成与配置
-
Solr学习2——集群部署与配置
-
Linux计划任务Crontab学习笔记(2):基本组成与配置
-
struts2学习笔记二(第2讲.Struts2入门与配置续)
-
struts2学习笔记一(第1讲.Struts2入门与配置)
-
高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置、部署与“Hello World”
-
Java信息化建设平台O2OA - 服务器集群部署配置步骤
-
高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置、部署与“Hello World”
-
Java信息化建设平台O2OA - 服务器集群部署配置步骤