Solr部署详解

Solr的两种部署模式

Solr程序包安装好后,可以以两种模式来启动solr服务器:

  • Standalone Server 独立服务器模式
    • 适用于数据规模不大的场景
  • SolrCloud 分布式集群模式
    • 适用于数据规模大,高可靠、高可用、高并发的场景

1、独立服务器模式详解

独立服务器模式架构

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

Solr主目录介绍

Solr主目

动手:
1、请查看实际的主目录 server/solr
2、创建一个主目录(复制solr.xml),在它之上启动一个服务实例(我将一个solr.xml文件复制到 /usr/local/solrhome 目录下)

启动服务器实例的命令

  • bin/solr start [options]
  • bin/solr start -help
  • bin/solr restart [options]
  • bin/solr restart -help

示例:bin/solr start -s xxxdir -p port

#启动两个实例
[root@iz2zegctspnn963lglh798z solr-7.3.1]# bin/solr start -force
[root@iz2zegctspnn963lglh798z solr-7.3.1]# bin/solr start -s /usr/local/solrhome -p 9999 -force

注意:重启要用和启动时一样的options

查看本机上运行的solr服务实例的状态

  • bin/solr status

停止solr服务实例

  • bin/solr stop [options]
  • bin/solr stop -help

示例:

  • bin/solr stop -p port
  • bin/solr stop -all

core 内核详解

内核:是在solr服务器中的具体唯一命名的、可管理和配置的索引。一台solr服务器可以托管一个或多个内核。

内核的典型用途:区分不同模式的文档

core 内核管理

web页面,添加、卸载、加载、重载内核

创建内核

  • bin/solr create [options]
  • bin/solr create -help
  • bin/solr create_core [options]
  • bin/solr create_core -help

示例:bin/solr create -c mycore -p 8983

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

删除内核

  • bin/solr delete [options]
  • bin/solr delete -help

示例:bin/solr delete -c corename -p port

core 内核目录结构

内核目录结构

为什么两种模式有差异?

集群模式中将 conf 文件放入 zookeeper中统一配置

内核配置文件目录

内核配置文件目录

2、SolrCloud分布式集群模式详解

分布式集群模式介绍

  1. 索引数据量大时可以使用分布式存储分布式搜索保证性能。
  2. 进行存储备份保证高可靠、高可用
  3. 分布式集群保证高并发、实时响应需求

索引如和存储?
分割成多个片存储到集群的不同节点上,每个分片有备份,存储在集群的不同节点上。

独立的服务器索引叫内核,那集群上索引叫什么?
solrCloud中以collection(集合)来称呼索引,内核存储是集合分片(shard)的备份(relication)

SolrCloud分布式集群架构

SolrCloud分布式集群架构

分布式集群模式启动

zookeeper

  • 独立的zookeeper,则需要先启动zookeeper
  • 内嵌的zookeeper,则先启动包含zookeeper的solrNode

solrNode

  • 内嵌的zookeeper的第一个solrNode节点服务启动:
    • bin/solr start -c -p port -s solrhome
  • 其他solr节点的启动:
    • bin/solr start -c -p port -s solrhome -z zkhost:port

启动的zookeeper实例的端口为slor实例的端口+1000

分布式集群模式部署练习

在我们的电脑上部署一个两个节点的集群

步骤1:创建两个solr主目录(都复制solr.xml文件),如:

  • F:\test\solrCloud\node1\solr
  • F:\test\solrCloud\node2\solr

node1/solr 目录下需要zk的配置文件,到 solr-7.3.1/server/solr下拷贝 zoo.cfg

步骤2:启动第一个内嵌有zk的solrNode

  • bin/solr start -c -s F:\test\solrCloud\node1\solr -m 100M

-m:指定内存启动

步骤3:启动第二个solrNode

  • bin/solr start -c -p 7001 -s F:/test/solrCloud/node2/solr -z localhost:9983 -m 100M

分布式集群的web管理控制台的变化

web管理控制台的变化

创建集合 collection

  • 语法:集合 — 分片数2 — 备份因子2
    • bin/solr create –c collection01 –d _default –shards 2 –replicationFactor 2 –p 8983
    • bin/solr create –c collection02 –d sample_techproducts_configs –shards 2 –replicationFactor 2 –p 8983
每个集合有两个分片(shard)每个分片都有两个备份(replicationFactor)

卸载、加载、重载集合

  • 与独立服务器方式相同

删除集合

  • bin/solr delete –c collectionname –p port

提交数据到集合

  • Linux/Mac
    • solr-7.3.0:$ bin/post -c techproducts example/exampledocs/*
  • Windows
    • solr-7.3.0> java -jar -Dc=techproducts -Dauto example\exampledocs\post.jar example\exampledocs*

修改SolrCloud在ZooKeeper中的配置文件操作记录。

命令执行目录:

solr/server/scripts/cloud-scripts/

1、下载配置文件

./zkcli.sh -zkhost 172.16.xxx.xx:2181,172.16.xxx.xx:2181,172.16.xxx.xx:2181 
-cmd getfile /configs/myconf/managed-schema /home/application/managed-schema

./zkcli.sh -zkhost 172.16.xxx.xx:2181,172.16.xxx.xx:2181,172.16.xxx.xx:2181 
-cmd getfile /configs/myconf/solrconfig.xml /home/application/solrconfig.xml

2、修改配置文件
vi

3、上传配置文件

./zkcli.sh -zkhost 172.16.xxx.xx:2181,172.16.xxx.xx:2181,172.16.xxx.xx:2181 
-cmd putfile /configs/myconf/managed-schema /home/application/managed-schema

./zkcli.sh -zkhost 172.16.xxx.xx:2181,172.16.xxx.xx:2181,172.16.xxx.xx:2181 
-cmd putfile /configs/myconf/solrconfig.xml /home/application/solrconfig.xml

4、重新加载配置文件
http://172.16.xxx.xxx:8983/solr/admin/collections?action=RELOAD&name=CollectionName

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,957评论 19 139
  • 两年前用过solr5.1版本的,当时只是简单入个门,拿来在项目里建个全文索引,然后再query,其他什么也没做,还...
    Coselding阅读 3,127评论 3 22
  • 前言 本文是根据solr官方文档翻译和改编来的,所以你也在官方文档中看到过,不要惊讶。 安全认证种类 solr带有...
    尧字节阅读 6,745评论 1 5
  • 1. Solr 官网 搜索引擎是指一个庞大的互联网资源数据库,如网页,新闻组,程序,图像等。它有助于在万维网上定位...
    _凌浩雨阅读 2,226评论 0 4
  • 你和那谁那天分手,你泪痕像条绿色的锈,顽固地住在眼睛一角,直到永久抹不走。这是我喜欢张木的第三年,马上就是...
    海上舟啊阅读 344评论 0 1