搞定了一切的一切之后下一步就是正式使用了,但是之前介绍的都是在单台服务器上进行的部署,如果在生产环境出现了单台故障怎么办呢?提供稳定性和性能的最直观的方式就是集群,solr官方提供了cloud的集群方式

附上:

喵了个咪的博客:http://w-blog.cn

Solr官网:http://lucene.apache.org/solr/

PS:8.0.0版本已经发布,本文使用此时较为稳定的7.7.1版本

一,SolrCloud介绍

SolrCloud是基于Solr和Zookeeper的分布式搜索方案。它的主要思想是使用Zookeeper作为SolrCloud集群的配置信息中心,统一管理solrcloud的配置,比如solrconfig.xml和schema.xml。

SolrCloud(solr集群)是Solr提供的分布式搜索方案,一下场景能够比较好的使用SolrCloud

  • 当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud。
  • 当索引量很大,搜索请求并发很高时,同样需要使用SolrCloud来满足这些需求。
  • 不过当一个系统的索引数据量少的时候是没有必要使用SolrCloud的。

Solrcloud特点功能:

  • 集中式的配置信息
  • 自动容错
  • 近实时搜索
  • 查询时自动负载均衡

Solrcloud的结构:  solrcloud为了降低单机的处理压力,需要由多台服务器共同来完成索引和搜索任务。实现的思路是将索引数据进行Shard分片,每个分片由多台服务器共同完成,当一个索引或搜索请求过来时会分别从不同的Shard的服务器中操作索引。solrcloud是基于solr和zookeeper部署,zookeeper是一个集群管理软件,solrcloud需要由多台solr服务器组成,然后由zookeeper来进行协调管理。

物理结构:

  • 三个Solr实例( 每个实例包括两个Core),组成一个SolrCloud。
    逻辑结构:
  • 索引集合包括两个Shard(shard1和shard2),shard1和shard2分别由三个Core组成,其中一个Leader两个Replication,Leader是由zookeeper选举产生,zookeeper控制每个shard上三个Core的索引数据一致,解决高可用问题。用户发起索引请求分别从shard1和shard2上获取,解决高并发问题。
    core:
  • 每个Core是Solr中一个独立运行单位,提供 索引和搜索服务。一个shard需要由一个Core或多个Core组成。由于collection由多个shard组成所以collection一般由多个core组成。
    Master&Slave:
  • Master是master-slave构中的主结点(通常说主服务器),Slave是master-slave结构中的从结点(通常说从服务器或备服务器)。同一个Shard下master和slave存储的数据是一致的,这是为了达到高可用目的

二、环境准备

准备三台centos 7服务器 , 并且对主机名进行改写

hostname solr-1
hostname solr-2
hostname solr-3

修改三台机器hosts文件通过hostname可以互相访问,使用ping命令验证可以互相通讯

> vim /etc/hosts172.16.2.75 solr-1
172.16.2.74 solr-2
172.16.2.72 solr-3

安装JAVA,可以自行安装或oneinstack一键命令安装,这里安装了java和tomcat

> wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --tomcat_option 2 --jdk_option 2 --reboot 

三、Zookeeper安装

> cd /app/install/
> wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
> tar -zxvf zookeeper-3.4.13.tar.gz
> mv zookeeper-3.4.13 /usr/local/

修改配置文件

> cd /usr/local/zookeeper-3.4.13/conf/
> cp zoo_sample.cfg zoo.cfg
> vim zoo.cfgtickTime=2000
dataDir=/usr/local/zookeeper-3.4.13/data
clientPort=2181
initLimit=10
syncLimit=5
server.1=solr-1:2888:3888
server.2=solr-2:2888:3888
server.3=solr-3:2888:3888

所有节点修改环境变量

> vim /etc/profile# zookeeper
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.13
export PATH=$ZOOKEEPER_HOME/bin:$PATH> source /etc/profile

将zookeeper目录复制到其他节点上

> scp -r /usr/local/zookeeper-3.4.13/ root@solr-2:/usr/local/zookeeper-3.4.13
> scp -r /usr/local/zookeeper-3.4.13/ root@solr-3:/usr/local/zookeeper-3.4.13

添加myid文件(每节点都需要)

> cd /usr/local/zookeeper-3.4.13
> mkdir data
> echo "1" > data/myid

注意,每个节点myid文件要不一致

启动并测试

# 在三台机器上分别执行
> zkServer.sh start# 查看状态
[root@solr-1 zookeeper-3.4.13]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower[root@solr-2 zookeeper-3.4.13]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader[root@solr-3 zookeeper-3.4.13]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower

solr 高并发_Solr搜索引擎 — SolrCloud介绍和环境准备相关推荐

  1. solr 高并发_精妙绝伦!阿里资深架构师撰写这份:并发编程,可谓“独具匠心”...

    写在前面 并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能.现在几乎100%的公司不但面试都必须问到并发编程,而且在日常工作和开发当中更是需要并发编程的使用,尤其是在互联网公司,它要求 ...

  2. Linux高并发服务器开发---笔记1(环境搭建、系统编程、多进程)

    0613 第4章 项目制作与技能提升 4.0 视频课链接 4.1 项目介绍与环境搭建 4.1.1 项目介绍 4.1.2 开发环境搭建 ①安装Linux系统.XSHELL.XFTP.Visual Stu ...

  3. 亿级数据的高并发通用搜索引擎架构设计(转-张宴)

    [文章作者:张宴 本文版本:v1.0 最后修改:2008.12.09 转载请注明原文链接:http://blog.zyan.cc/post/385/] 曾经在七月,写过一篇文章──<基于Sphi ...

  4. solr 高并发_高血压常见的并发症,这些疾病和高血压一起治,疗效才好

    血液流动对血管壁形成的压力被称为血压,而由于种种原因导致血压高出正常值后,就成了高血压. 高血压对身体有什么危害 高血压是一种可控但需要终身治疗的疾病,高血压一旦形成,几乎就不可逆转了,需要长期服用药 ...

  5. solr 高并发_你真的了解并发编程吗?

    ​并发编程是提升程序性能的有效手段.不过,你是否真的了解并发编程...... 1.并发编程 Bug 的根源是什么? 2.volatile 实质上是解决什么问题? 3.什么是Happens-Before ...

  6. solr 高并发_预防帕金森病的运动并发症,比治疗更重要!

    点击蓝字关注王东玉大夫 随着社会人口的老龄化,目前帕金森病已成为肿瘤.心脑血管疾病之后,危害中老年人健康的第三大杀手,而且发病呈现年轻化的趋势. 左旋多巴的问世是帕金森病治疗进程中的一个里程碑,被视为 ...

  7. solr 高并发_6岁男童入学体检,却查出重病|手术|骨髓|性疾病|并发症|豪豪

    今天天气 挺好的 景德镇 天气 16-24℃ 多云 都市现场 你来得刚好 和现场鸽做朋友 来源 | 都市现场(jxtvdsxc)综合大连公共频道 未经允许不得转载 如删除来源必究 今年6月份,6岁的男 ...

  8. solr 高并发_麻醉指南与专家共识学习day6 降低中心静脉置管并发症(黄佳鹏老师)_...

    本文由"Luffy麻醉频道"授权转载 内容概要如下 中心静脉置管并发症概述 超声的优势 技巧 并发症--感染 并发症--导丝相关 怎么样从政策.思维上来预防并发症 在静脉插管过程中 ...

  9. 【高并发】- 指标介绍

    什么是高并发 高并发系统有哪些关键指标 高并发系统介绍 本文主要讲解高并发系统的概念,在实际开发过程中为什么要使用高并发系统,相比于传统系统,能带来怎样的改变. 1.1 高并发介绍 高并发(Hign ...

最新文章

  1. 快速排序的难点_数据结构考研重难点解析:快速排序
  2. Spring Boot 2.0(三):Spring Boot 开源软件都有哪些?
  3. flutter 版本控制fvm
  4. android json 解析图片路径,Android 使用Gson解析Asset 目录下的.json文件
  5. 摆脱pom XML…几乎
  6. An Algorithm Summary of Programming Collective Intelligence (1)
  7. 寄存器地址和内存地址_3. 从0开始学ARMARM模式、寄存器、流水线
  8. python中函数startswith的用法_Python中用startswith()函数判断字符串开头的教程
  9. mysql链接丢失_mysql 连接丢失错误解决(转载)
  10. Python编程基础05:运算符与表达式
  11. shell编程快捷方法
  12. FPGA转正总结(标准版)
  13. 性能测试工具选型原则
  14. ipad导入pdf_Ipad笔记法①日常笔记篇
  15. jquery ajax 对异步队列defer与XMLHttprequest.onload的依赖
  16. layui 复选框checked获取值和赋值
  17. 2013Esri全球用户大会QA之Esri公司概况及未来发展
  18. 02-若依权限管理子系统简介(自己了解)
  19. go语言和c运行效率,Go语言执行效率
  20. win10-yolov5环境搭建

热门文章

  1. Oracle/PLSQL CURSOR FOR Loop
  2. 12.Java 面试题整理(JAVA 代码查错)
  3. 安卓案例:绘制文本图形图像
  4. 中职计算机应用基础微课获奖视频,浅谈微课在中职计算机应用基础教学中的应用...
  5. 2017.9.9 传送带 失败总结
  6. 【英语学习】【Daily English】U11 Work L02 Just be honest
  7. 【英语学习】【Daily English】U09 Fashion L03 You're my fashion icon
  8. 【英语学习】【WOTD】wherewithal 释义/词源/示例
  9. VS2008中C++打开Excel(MFC)
  10. python 抓取微博评论破亿_如果利用Python分析14亿条数据!资深程序员手把手教你!过亿级!...