solr 高并发_Solr搜索引擎 — SolrCloud介绍和环境准备
搞定了一切的一切之后下一步就是正式使用了,但是之前介绍的都是在单台服务器上进行的部署,如果在生产环境出现了单台故障怎么办呢?提供稳定性和性能的最直观的方式就是集群,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介绍和环境准备相关推荐
- solr 高并发_精妙绝伦!阿里资深架构师撰写这份:并发编程,可谓“独具匠心”...
写在前面 并发编程是Java程序员最重要的技能之一,也是最难掌握的一种技能.现在几乎100%的公司不但面试都必须问到并发编程,而且在日常工作和开发当中更是需要并发编程的使用,尤其是在互联网公司,它要求 ...
- Linux高并发服务器开发---笔记1(环境搭建、系统编程、多进程)
0613 第4章 项目制作与技能提升 4.0 视频课链接 4.1 项目介绍与环境搭建 4.1.1 项目介绍 4.1.2 开发环境搭建 ①安装Linux系统.XSHELL.XFTP.Visual Stu ...
- 亿级数据的高并发通用搜索引擎架构设计(转-张宴)
[文章作者:张宴 本文版本:v1.0 最后修改:2008.12.09 转载请注明原文链接:http://blog.zyan.cc/post/385/] 曾经在七月,写过一篇文章──<基于Sphi ...
- solr 高并发_高血压常见的并发症,这些疾病和高血压一起治,疗效才好
血液流动对血管壁形成的压力被称为血压,而由于种种原因导致血压高出正常值后,就成了高血压. 高血压对身体有什么危害 高血压是一种可控但需要终身治疗的疾病,高血压一旦形成,几乎就不可逆转了,需要长期服用药 ...
- solr 高并发_你真的了解并发编程吗?
并发编程是提升程序性能的有效手段.不过,你是否真的了解并发编程...... 1.并发编程 Bug 的根源是什么? 2.volatile 实质上是解决什么问题? 3.什么是Happens-Before ...
- solr 高并发_预防帕金森病的运动并发症,比治疗更重要!
点击蓝字关注王东玉大夫 随着社会人口的老龄化,目前帕金森病已成为肿瘤.心脑血管疾病之后,危害中老年人健康的第三大杀手,而且发病呈现年轻化的趋势. 左旋多巴的问世是帕金森病治疗进程中的一个里程碑,被视为 ...
- solr 高并发_6岁男童入学体检,却查出重病|手术|骨髓|性疾病|并发症|豪豪
今天天气 挺好的 景德镇 天气 16-24℃ 多云 都市现场 你来得刚好 和现场鸽做朋友 来源 | 都市现场(jxtvdsxc)综合大连公共频道 未经允许不得转载 如删除来源必究 今年6月份,6岁的男 ...
- solr 高并发_麻醉指南与专家共识学习day6 降低中心静脉置管并发症(黄佳鹏老师)_...
本文由"Luffy麻醉频道"授权转载 内容概要如下 中心静脉置管并发症概述 超声的优势 技巧 并发症--感染 并发症--导丝相关 怎么样从政策.思维上来预防并发症 在静脉插管过程中 ...
- 【高并发】- 指标介绍
什么是高并发 高并发系统有哪些关键指标 高并发系统介绍 本文主要讲解高并发系统的概念,在实际开发过程中为什么要使用高并发系统,相比于传统系统,能带来怎样的改变. 1.1 高并发介绍 高并发(Hign ...
最新文章
- 快速排序的难点_数据结构考研重难点解析:快速排序
- Spring Boot 2.0(三):Spring Boot 开源软件都有哪些?
- flutter 版本控制fvm
- android json 解析图片路径,Android 使用Gson解析Asset 目录下的.json文件
- 摆脱pom XML…几乎
- An Algorithm Summary of Programming Collective Intelligence (1)
- 寄存器地址和内存地址_3. 从0开始学ARMARM模式、寄存器、流水线
- python中函数startswith的用法_Python中用startswith()函数判断字符串开头的教程
- mysql链接丢失_mysql 连接丢失错误解决(转载)
- Python编程基础05:运算符与表达式
- shell编程快捷方法
- FPGA转正总结(标准版)
- 性能测试工具选型原则
- ipad导入pdf_Ipad笔记法①日常笔记篇
- jquery ajax 对异步队列defer与XMLHttprequest.onload的依赖
- layui 复选框checked获取值和赋值
- 2013Esri全球用户大会QA之Esri公司概况及未来发展
- 02-若依权限管理子系统简介(自己了解)
- go语言和c运行效率,Go语言执行效率
- win10-yolov5环境搭建
热门文章
- Oracle/PLSQL CURSOR FOR Loop
- 12.Java 面试题整理(JAVA 代码查错)
- 安卓案例:绘制文本图形图像
- 中职计算机应用基础微课获奖视频,浅谈微课在中职计算机应用基础教学中的应用...
- 2017.9.9 传送带 失败总结
- 【英语学习】【Daily English】U11 Work L02 Just be honest
- 【英语学习】【Daily English】U09 Fashion L03 You're my fashion icon
- 【英语学习】【WOTD】wherewithal 释义/词源/示例
- VS2008中C++打开Excel(MFC)
- python 抓取微博评论破亿_如果利用Python分析14亿条数据!资深程序员手把手教你!过亿级!...