solr7.3集群搭建
solr集群搭建
原博客:https://blog.csdn.net/gdsgdh308227363/article/details/81004706
注意,在搭建solr集群前,建议最好有一个solr服务是已经搭建好的,可以简化大量重复的配置操作。
单机solr服务搭建过程参看我的这篇文章:
Solr服务在Linux上的搭建详细教程
这个单机solr服务在solr集群搭建第二步和第三步里需要,搭建好一个solr服务后,就可以进行集群搭建了。
第一步:创建四个tomcat实例。每个tomcat运行在不同的端口。8180、8280、8380、8480
上传解压步骤省略,这是我解压好的
复制tomcat到之前搭建zookeeper集群第四步时,创建的/usr/local/solr-cloud目录里,复制4个
去solr-cloud目录,发现已经复制好了4个tomcat目录
在tomcat目录下的conf里的server.xml,修改每个tomcat的端口号,这里只演示第一个目录的,另外三个都要改,端口要互不冲突
用/port命令搜索port字符串,按n搜索下一个,有三个地方要改,依次更改为
其他三个tomcat目录里的server.xml配置的端口按照234的顺序全改了啊,具体过程这里我就不截图了。
一共要改四个文件,每个文件里改三个地方,这12个端口号要互不冲突
第二步:把单机版的solr工程复制到集群中的tomcat中
在搭建好的单机solr服务里(这里是另一篇教程,上面说过了),复制solr工程到第一步的4个tomcat目录里,一共是复制4份
第三步:为每个solr实例创建一个对应的solrhome。使用单机版的solrhome复制四份
一样在之前搭建的单机solr服务里,把solrhome复制4份出来到solr-cloud目录里
现在solr-cloud目录里是有这些目录,检查一下有没有复制错地方的:
把 /usr/local/Project/solr_cluster/tomcat/webapps/solr/WEB-INF/web.xml中下面注释掉否则会报403
第四步:配置solrCloud相关的配置。每个solrhome下都有一个solr.xml,把其中的ip及端口号配置好
之前搭建单机版solr服务的时候没有动过solrhome里的这个文件,现在搭建集群了,需要进行修改
需要修改4个solr.xml,我这里还是只演示第一个,另外三个目录里的类比着改,一样的,就是1234的顺序
找到这个地方,第一个红框代表当前节点的ip地址,就是你部署这个solrhome01,tomcat01集群节点的服务器ip,实际工作中就是会部署4个服务器,一个服务器是一个节点,部署一个solr服务
第二个红框代表当前solr服务实例的端口号,就是所在的tomcat的端口号,就是第一步在tomcat01的server.xml里配置的8180
我的配置完后是这样的
其他三个照着改啊,由于我是在一台虚拟机搭建的四个实例,所以肯定四个实例的ip是一样的,但端口分别是8180,8280,8380,8480
第五步:需要修改solr服务的web.xml文件。把solrhome关联起来
修改这个文件,和之前单机版的solr配置是一样的
要注意的是,tomcat01这里的solr服务,是上面第二步复制过来的对吧,是我之前用solr7搭建的单机solr服务,里面的配置和solr4不太一样,具体还是去文章最上面看我提供的单机solr服务搭建教程链接
找到这个,这里是我之前搭建单机solr服务时,配置的solrhome路径
现在改成集群的solrhome01目录,使他们关联起来
其他三个tomcat里的web.xml都对应着一改,solrhome02,03,04
第六步:让zookeeper统一管理配置文件。需要把/conf目录上传到zookeeper
现在我们每一个solr都有了自己的solrhome,现在我们要让每一个solr实例的配置文件都一样,这个配置文件需要集中管理,这个时候我们使用zookeeper来统一管理配置文件。所以要将配置文件上传到zookeeper中。那么上传哪些配置文件呢?
这里注意下managed-schema文件,网上有很多低版本solr,会提到一个collection1/conf下的schema.xml,但是并没有找到。好像是从5.0版本开始不使用schema.xml的,这俩其实内容都一样,搞不懂为啥要换个名字,而且内容格式是xml,但是文件名却没有.xml的后辍,这里直接上传整个conf目录就行。
知道了要上传什么,那么怎么上传呢?打开最早solr解压出来的原始文件(如果删了那就重新上传解压吧)
在这个目录下有个脚本文件,执行这个脚本就可以将配置文件上传到zookeeper了,有点难找,我是用find命令给搜出来的。不过我这里给出了pwd路径
要注意,在执行脚本上传配置文件前,必须先去启动zookeeper集群
然后回来执行脚本
这里脚本的执行命令有点长,主要是参数多,建议复制出来改好后再粘贴上去
./zkcli.sh -zkhost 192.168.19.4:,192.168.19.4:,192.168.19.4: -cmd upconfig -confdir /usr/local/Project/solrCluster/solrhome1/configsets/sample_techproducts_configs/conf -confname mysolr_zkconf
我解释下各个参数的含义:
红色框代表zookeeper集群的ip和端口号列表(搭建zookeeper集群的时候配置过的)
绿色框代表要执行的是上传配置文件操作
黄色框代表的是要上传的配置文件目录(低版本不太一样,具体以那两个主要的配置文件所在目录为准,不知到在哪就find命令搜吧)
紫色框代表的是你给上传的配置起的名字,可以改
现在上传完了,那么我们怎么确定是否上传成功呢?去zookeeper集群的一个目录找到bin里zookeeper的客户端脚本
运行后,里面会出现一大堆内容,如果你不指定参数,他会默认访问localhost:2181
在最下面执行这个命令,查看在根目录下有什么,发现一个configs
再看它里面有什么?哈!
这就是我们刚才上传的配置了,名字一样的,代表上传成功了
然后用quit命令退出
如果你需要修改配置的话,只用在刚才那个conf目录里改好,改好后再上传一次就行了,就会覆盖原来的配置文件
第七步:修改tomcat/bin目录下的catalina.sh 文件,关联solr和zookeeper
现在上传好配置文件了,可是solr和zookeeper还没有建立任何关系,他们也不知道对方在哪里,这个时候需要修改4个tomcat的配置文件,这里只演示tomcat01,其他三个完全相同照着改
打开catalina.sh文件,加一个JAVA_OPTS这个参数,初始化这个值完了会传给solr,注意不是在这个截图这里修改啊
用/JAVA_OPTS搜索红色框框里的这句话(因为低版本加的位置长的不太一样,但这句话的例子是不变的),在这句话下面的位置加(注意位置啊,不要弄错了):
加上JAVA_OPTS的值(zookeeper集群的ip列表):
JAVA_OPTS="-DzkHost=192.168.19.4:2181,192.168.19.4:2182,192.168.19.4:2183"
然后把其他三个tomcat也一改,改的位置和内容是一样的,不用变
这样每个solr实例就通过这个参数和zookeeper集群建立了联系,solr会将自己的状态发送给zookeeper,比如ip地址啊,端口号啊,zookeeper就可以连接到solr了,建立了通信关系
第八步:启动每个tomcat实例。要包装zookeeper集群是启动状态
现在需要启动每个tomcat,当然了,这个和启动zookeeper集群一样,要一个一个进去启动,太麻烦了,还是写个批处理脚本来运行
- /usr/local/solr-cloud/tomcat01/bin/startup.sh
- /usr/local/solr-cloud/tomcat02/bin/startup.sh
- /usr/local/solr-cloud/tomcat03/bin/startup.sh
- /usr/local/solr-cloud/tomcat04/bin/startup.sh
保存,退出
发现没有运行权限,添加权限
然后运行脚本,等等啊,tomcat集群启动比较慢
如果你想看启动起来没,可以复制一个会话窗口(我用的xshell5),去看看tomcat的日志信息(相当于看控制台打印信息)
用这个命令查看,我这就查看一个,应该已经启动好了
这里说个小知识点,tomcat8开始,默认启动的是NIO模式,7默认启动的是BIO模式,还可以通过配置设置APR模式启动,至于APR,NIO和BIO的区别,是和tomcat并发性能有关的,高并发的系统应该将tomcat的模式设置成APR模式,会大幅度的提高服务器的处理和响应性能。感兴趣的可以自己百度下。当然这个不用在意,跟本文集群搭建没啥关系,就是想到了说一下。
第九步:访问集群
然后用自己的电脑访问下咱们的集群吧,之前单机版是没有红框框出来的两个东西的,出现这个就是OK了
我这里还没创建collections,所以啥都没有:
注意下访问地址的输入,要写全。访问地址写成这样会404
第十步:创建新的Collection进行分片处理
点击页面的Collections按钮,然后就能添加了(高版本的solr才有,低版本的需要通过地址栏传递参数去设置,比较麻烦)
我这里选择的是名字叫mycollection1,用自己上传的myconf配置文件,有2片shard,每个shard有2个备份节点一主一备
然后回去看下,这样solr集群就搭建ok了!
第十一步:删除不用的Collection或core
删除collection,点这里,然后输入你要删除的collection名称就行
删除core在右边,完了如果要添加下面有add replica(如果工作中你的哪个备份机挂了,就这样删掉挂的服务器,再添加一个好的就行,当然了,在这里添加前,肯定是需要在服务器上部署好solr服务,然后连接zookeeper集群才行的)
--------------------- 本文来自 龚道松_光辉岁月 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/gdsgdh308227363/article/details/81004706?utm_source=copy
solr7.3集群搭建的更多相关文章
- 最新版solr7.2集群搭建详细步骤
集群:高可用,备份,数据可分片 需要运行4个tomcat 1.tomcat端口号(默认占用8005,8009,8080三个端口) tomcat服务 占用端口 tomcat1 6005.6060.600 ...
- 虚拟机下 solr7.1 cloud 集群搭建 (手动解压和官方脚本两种方式)
准备工作: vmware workstation 12,OS使用的是ubuntu16.04,三台虚拟机搭建一个solr集群,zookeeper共用这三台虚拟机组成zookeeper集群. zookee ...
- Solr集群搭建详细教程(一)
一.Solr集群的系统架构 注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人dijia478@163.com. SolrCloud(solr 云)是So ...
- Solr集群搭建详细教程(二)
注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人dijia478@163.com. 之前步骤:Solr集群搭建详细教程(一) 三.solr集群搭建 注意 ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)
Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)
Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...
- 【Data Cluster】真机环境下MySQL数据库集群搭建
真机环境下MySQL-Cluster搭建文档 摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...
- (四)Spark集群搭建-Java&Python版Spark
Spark集群搭建 视频教程 1.优酷 2.YouTube 安装scala环境 下载地址http://www.scala-lang.org/download/ 上传scala-2.10.5.tgz到m ...
- (三)Spark-Hadoop集群搭建-Java&Python版Spark
Spark-Hadoop集群搭建 视频教程: 1.优酷 2.YouTube 配置java 启动ftp [root@master ~]# /etc/init.d/vsftpd restart 关闭 vs ...
随机推荐
- ES6中新添加的Array.prototype.fill
用法 array.fill(start=0, end=this.length) 示例 [1, 2, 3].fill(4) // [4, 4, 4] [1, 2, 3].fill(4, 1) // [1 ...
- 1.Hadoop集群搭建之Linux主机环境准备
Hadoop集群搭建之Linux主机环境 创建虚拟机包含1个主节点master,2个从节点slave1,slave2 虚拟机网络连接模式为host-only(非虚拟机环境可跳过) 集群规划如下表: 主 ...
- C++中float类型的存储
C++中float用32位来表示,f = (-1)^S * T * 2^E,S是符号位,T是尾数,E是指数 首先我们把f表示成科学计数法的形式,然后再写出其在内存中的表示,在这里T写成1.XXX的形式 ...
- css常用属性总结第二弹:id选择器
承接上一篇class选择器,这一篇我们来说说css的id选择器. id选择器类似于类选择器,不过也有一些重要的差别,首先,id选择器前面有一个#号----称它为棋牌号吧,class为点号,用法就和cl ...
- APP微信登录---第三方登录
(一)引入maven配置 <dependency> <groupId>com.github.liyiorg</groupId> <artifactId> ...
- 使用OpenSsl自己CA根证书,二级根证书和颁发证书(亲测步骤)
---恢复内容开始--- 一.介绍 企业自用, 到证书机构签发证书的费用和时间等都可以省下..... SSl证书的背景功用.......(省略万字,不废话) 可以参考: SSL证书_百度百科 X509 ...
- Unity iOS 项目的一种性能评测方法
[Unity iOS 项目的一种性能评测方法]
- 【UVA1515 算法竞赛入门指南】 水塘【最小割】
题意: 输入一个h行w列的字符矩阵,草地用“#”表示,洞用"."表示.你可以把草改成洞,每格花费为d,也可以把洞填上草,每格花费为f.最后还需要在草和洞之间修围栏,每条边花费为b. ...
- selenium3 下载、配置
s1-s3发展历程 : http://www.cnblogs.com/hhudaqiang/p/6550135.html 官网地址:http://www.seleniumhq.org/文档:http ...
- Selenium自动化测试WebDriver下载
1. 所有版本chrome下载 是不是很难找到老版本的chrome?博主收集了几个下载chrome老版本的网站,其中哪个下载的是原版的就不得而知了. http://www.slimjet.com/ch ...