欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Solr学习2——集群部署与配置

程序员文章站 2022-07-09 15:27:51
...

一、Solr两种部署模式介绍

1.Standalone Server

  独立服务器模式 适用于数据规模不大的场景。
Solr学习2——集群部署与配置
说明:

  1. 每个solr服务器实例(启动的一个solr服务器进程)都有一个solr主目录(系统变量名为:solr.solr.home)。启动服务器实例时须为实例指定主目录(默认为:server/solr目录)。
  2. solr主目录中存放该服务器实例托管的内核。
  3. 一个solr服务器实例中可托管多个内核。

Solr主目录介绍:
Solr学习2——集群部署与配置
core 内核目录结构:
Solr学习2——集群部署与配置

core 内核详解:
内核:是在Solr服务器中的唯一命名的、可管理和可配置的索引。一台solr服务器可以托管一个或多个内核。
内核的典型用途:区分不同模式的文档
创建内核:

bin/solr create [options]
bin/solr create –c mycore –p 8983

-c 内核的名字(必需).
-d 内核配置目录。默认_default.
-p 创建命令要发送到的solr服务实例的端口。如未指定则获取本机运行的solr服务实例列表的第一个。

2.SolrCloud

  分布式集群模式 适用于数据规模大,高可靠、高可用、高并发的场景
Solr学习2——集群部署与配置

索引可分割成多个片存储到集群的不同节点上,每个分片有备份,存储在集群的不同节点上。
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服务实例的。 可看到使用了如下三个变量:
Solr学习2——集群部署与配置

2.环境参数配置文件(官方叫法:include file):/etc/default/solr.in.sh。它将覆盖 bin/solr启停控制脚本中的配置参数。我们通过该文件来配置修改solr服务实例的运行配置。
Solr学习2——集群部署与配置
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配置参数说明
Solr学习2——集群部署与配置
Solr学习2——集群部署与配置
Solr学习2——集群部署与配置
Solr学习2——集群部署与配置
5.启动SolrCloud服务

  1. 独立的zookeeper,需先启动zookeeper
  2. 已经事先在solr.in.sh中配好了zk地址和solr主目录,可直接执行./solr start启动实例

6.配置集合和内核
可以通过管理界面或者直接用命令行来创建集合,我习惯用前者。
Solr学习2——集群部署与配置
Solr学习2——集群部署与配置
此处的config set需要事先向zk中上传配置文件,路径为/chroot/configs

创建完成后可以*删减replica,或者删除collection


总结

至此,就搭建好了SolrCloud环境,之后就针对collection做配置,在solrconfig.xml中配置集合参数,在schema.xml中配置文档字段,就大功告成了。

相关标签: solr