一、solr两种部署模式介绍

Standalone Server 独立服务器模式:适用于数据规模不大的场景

SolrCloud  分布式集群模式:适用于数据规模大,高可靠、高可用、高并发的场景

二、独立服务器模式详解

1. 独立服务器模式架构

说明:

1、每个solr服务器实例(启动的一个solr服务器进程)都有一个solr主目录(系统变量名为:solr.solr.home)。启动服务器实例时须为实例指定主目录(默认为:server/solr目录)。

2、solr主目录中存放该服务器实例托管的内核。

3、一个solr服务器实例中可托管多个内核。

2.Solr主目录介绍

每个主目录下都有一个solr服务器实例配置文件solr.xml。 solrCloud模式下solr.xml可放置在zk上。

创建一个主目录(复制solr.xml),在它之上启动一个服务实例

启动命令:solr.cmd start -s D:/test/solrhome -p 8984

3. solr命令介绍

启动服务器实例命令:

bin/solr start [options]

bin/solr start -help

bin/solr restart [options]

bin/solr restart -help

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

启动时指定solr主目录的命令:solr.cmd start -s D:/test/solrhome -p 8984

查看本机上运行的solr服务实例的状态:bin/solr status

停止solr服务实例:

bin/solr stop [options]

bin/solr stop -help

停止单个服务:

bin/solr stop –p port

停止所有solr实例:

bin/solr stop -all

4. core  内核详解

4.1 内核以及内核的用途

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

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

4.2 core 内核管理:

创建内核

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

4.3 core 内核目录结构

内核属性文件core.properties的作用:配置内核的一些配置、作为内核的标识在启动solr的时候加载内核

 注意:可以看到集群模式下是没有conf目录的,这是因为集群模式的conf是放在zk下给所有的内核使用的

 内核配置文件目录

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

1. 为什么需要分布式集群模式?

源于需求:

1. 索引数据量大

如何存储? 如何保证搜索性能?

2. 如何保证高可靠、高可用?

3. 如何应对高并发、实时响应需求?

索引将被如何存储?

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

 独立服务器上索引叫内核,那集群上索引叫什么?

solrCloud中以 collection(集合)来称呼索引,内核存储的是集合分片(shard)的备份(replication)

2. SolrCloud分布式集群架构

3. 分布式集群模式启动

3.1  启动zookeeper

独立的zookeeper,则需先启动zookeeper

内嵌的zookeeper,则先启动包含zookeeper的solrNode

3.2 启动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

4. 分布式集群模式部署练习

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

步骤1:创建两个solr主目录,如

D:\test\solrCloud\node1\solr

D:\test\solrCloud\node2\solr

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

然后到D:\solr-7.3.0\server\solr拷贝solr.xml到两个solr目录下

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

solr.cmd start –c –s D:/test/solrCloud/node1/solr -m 100M

没有指定端口默认8983

-m 100M表示分配100M的内存

步骤3:启动第二个solrNode

solr.cmd start –c –s D:/test/solrCloud/node2/solr -m 100M -p 8984 –z localhost:9983

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

在浏览器输入地址http://localhost:8983/solr查看现在的solr的web控制台有什么变化

 创建集合 collection

集合—分片数2---备份因子2

solr.cmd create –c collection01 –d _default –shards 2 –replicationFactor 2 –p 8983

说明:在8983这个solr实例上使用默认配置_default创建一个集合collection01,这个集合有2个分片,每个分片有2个备份

solr.cmd create –c collection02 –d sample_techproducts_configs –shards 2 –replicationFactor 2 –p 8983

说明:在8983这个solr实例上使用默认配置sample_techproducts_configs创建一个集合collection02,这个集合有2个分片,每个分片有2个备份

创建完成以后就可以在solr的管理页面看到创建的集合了

提交数据到集合collection02中:

Linux/Mac;

solr-7.3.0:$ bin/post -c collection02 example/exampledocs/*

Windows:

java -jar -Dc=collection02 -Dauto example\exampledocs\post.jar example\exampledocs\*

执行完以后就可以在集合的备份内核中看到提交的数据了

Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)...相关推荐

  1. SolrCloud 分布式集群安装部署(solr4.8.1 + zookeeper +tomcat)

    SolrCloud 分布式集群安装部署 安装软件包准备 · apache-tomcat-7.0.54 · jdk1.7 · solr-4.8.1 · zookeeper-3.4.5 注:以上软件都是基 ...

  2. HBase 0.98 分布式集群安装详解

    概述 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像Bigtab ...

  3. MySQL分布式集群搭建详解

    搭建MySQL分布式集群,例如:利用MySQL cluster ,MySQL proxy,MySQL replication,drdb等等,有人会问MySQL集群意义是什么呢?为一个数据库减轻负担,说 ...

  4. Hadoop-HDFS详解与HA,完全分布式集群搭建(细到令人发指的教程)

    前言 本篇篇幅较长,有许多集群搭建干货,和枯燥乏味但是面试可能问到的理论知识. 思来想去不知道怎样才能鼓励自己加油学习,想想要面对的生活还是假吧意思打开学习视频吧. 目录 一.引入 hdfs是什么 h ...

  5. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  6. Kafka单机、集群模式安装详解(二)

    本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11) 接上篇 Kafka单机.集群模式安装详解(一) 6. ...

  7. redis db0 到 db15_深入剖析Redis系列: Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  8. redis详解(四)-- 高可用分布式集群

    一,高可用 高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响. 停止服务的原因可能由于网卡.路由器.机房.CPU负载过高.内存溢出.自然灾害等不可预期的原 ...

  9. 基于Kubernetes构建Docker集群管理详解

    from: 基于Kubernetes构建Docker集群管理详解 Kubernetes是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动 ...

最新文章

  1. 7 个 jQuery 最佳实践
  2. 图解使用CURL下载和上传文件
  3. Apache与Tomcat使用
  4. Cross-Attention Fusion Based Spatial-Temporal MGCN for Traffic Flow Prediction阅读笔记
  5. javascript 自定义类型
  6. 那些被.NET大厂拒绝的大佬们,究竟弱在哪里?
  7. hasOwnProperty和isPrototypeOf
  8. 算数or算卦,和业务人谈“预测”到底在谈啥?
  9. 第三章 Docker 入门
  10. FTP服务器上传文件操作方法,FTP工具(FLASHFXP)下载使用教程
  11. 【JAVA】java代码实现print2Flash转swf文件,百度文库一样。
  12. 程序员如何写一份打动面试官的简历?这些坑你必须注意了!
  13. ios备忘录下载安卓版_ios8备忘录app软件下载
  14. 月份缩写python_用法语月份缩写解析日期
  15. 游戏出海Get,TikTok联手Zynga推出一款基于HTML5打造的手机游戏
  16. html不对齐表格的实现
  17. python3中使用ADFtest
  18. webdav 文件服务器,WebDAV 扩展
  19. 软件测试周刊(第20期):恐惧,来自只思考却不行动
  20. 天线理论巴拉尼斯_天线理论与技术 - 心理学书籍 psychspace.com/钟顺时/

热门文章

  1. 为什么有人说Java开发不再吃香
  2. Wireshark初步入门
  3. qt获取当前正在编辑的文件名和路径_node学习——path 路径模块
  4. python 混淆矩阵 画图_【Python-机器学习】sciki-learn/pandas与OLS求解
  5. 遍历数组是什么意思_漫画:寻找无序数组的第k大元素(修订版)
  6. 消防给水及消火栓系统技术规范_对于高位消防水箱《消防给水及消火栓系统技术规范》是如何规定...
  7. flask向html传函数,Flask----函数数据类型传参
  8. mysql新增字段位置_图解MySQL | [原理解析] MySQL 为表添加列 是怎么quot;立刻quot;完成的...
  9. 三道题就能考察你对Vue掌握了多少!
  10. c++ 正态分布如何根据x求y_knn实战:如何对手写数字进行识别?