阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.7下Solr集群搭建详细教程

409次阅读
没有评论

共计 9904 个字符,预计需要花费 25 分钟才能阅读完成。

一、Solr 集群的系统架构

SolrCloud(solr 云)是 Solr 提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用 SolrCloud 的,当索引量很大,搜索请求并发很高,这时需要使用 SolrCloud 来满足这些需求。

SolrCloud 是基于 Solr 和 Zookeeper 的分布式搜索方案,它的主要思想是使用 Zookeeper 作为集群的配置信息中心。

商业用途请联系本人 dijia478@163.com

它有几个特色功能:

1)集中式的配置信息

2)自动容错

3)近实时搜索

4)查询时自动负载均衡

CentOS 6.7 下 Solr 集群搭建详细教程

1. 物理结构

三个 Solr 实例(每个实例包括两个 Core),组成一个 SolrCloud。

2. 逻辑结构

索引集合包括两个 Shard(shard1 和 shard2),shard1 和 shard2 分别由三个 Core 组成,其中一个 Leader 两个 Replication,Leader 是由 zookeeper 选举产生,zookeeper 控制每个 shard 上三个 Core 的索引数据一致,解决高可用问题。

用户发起索引请求分别从 shard1 和 shard2 上获取,解决高并发问题。

2.1. collection

Collection 在 SolrCloud 集群中是一个逻辑意义上的完整的索引结构。它常常被划分为一个或多个 Shard(分片),它们使用相同的配置信息。

比如:针对商品信息搜索可以创建一个 collection。

collection=shard1+shard2+….+shardX

2.2. Core

每个 Core 是 Solr 中一个独立运行单位,提供 索引和搜索服务。一个 shard 需要由一个 Core 或多个 Core 组成。由于 collection 由多个 shard 组成所以 collection 一般由多个 core 组成。

2.3. Master 或 Slave

Master 是 master-slave 结构中的主结点(通常说主服务器),Slave 是 master-slave 结构中的从结点(通常说从服务器或备服务器)。同一个 Shard 下 master 和 slave 存储的数据是一致的,这是为了达到高可用目的。

2.4. Shard

Collection 的逻辑分片。每个 Shard 被化成一个或者多个 replication,通过选举确定哪个是 Leader。

3. 本教程实现的 solr 集群架构

CentOS 6.7 下 Solr 集群搭建详细教程

Zookeeper 作为集群的管理工具。

1、集群管理:容错、负载均衡。

2、配置文件的集中管理

3、集群的入口

需要实现 zookeeper 高可用。需要搭建集群。建议是奇数节点。需要三个 zookeeper 服务器。

搭建 solr 集群至少需要 7 台服务器。

这里因环境限制,演示的是搭建伪分布式(在一台虚拟机上,建议内存至少 1G):

需要三个 zookeeper 节点

需要四个 tomcat 节点。

本文使用 tomcat 进行部署,而不使用 solr 自带的 jetty

4. 系统环境

CentOS-6.7-i386-bin-DVD1

jdk-8u151-linux-i586

apache-tomcat-8.5.24

zookeeper-3.4.10

solr-7.1.0

注意:solr6.0 以上版本,官方建议使用 jdk8,tomcat8,搭建步骤和 solr6 以下略微有区别

二、Zookeeper 集群搭建

第一步:需要安装 jdk 环境。

JDK 安装过程省略,不会的去看我的这篇文章:

简单易懂的 CentOS 6.7 上安装 JDK 入门教程  http://www.linuxidc.com/Linux/2017-12/149877.htm

能看集群搭建教程的,应该不可能不会安 JDK 吧,安好之后是这样的

CentOS 6.7 下 Solr 集群搭建详细教程

第二步:把 zookeeper 的压缩包上传到服务器。

CentOS 6.7 下 Solr 集群搭建详细教程

第三步:解压缩。

解压过程省略,我这里解压到了 /usr/share/

CentOS 6.7 下 Solr 集群搭建详细教程

第四步:把 zookeeper 复制三份。

先创建目录 /usr/local/solr-cloud

CentOS 6.7 下 Solr 集群搭建详细教程

第五步:在每个 zookeeper 目录下创建一个 data 目录。

 CentOS 6.7 下 Solr 集群搭建详细教程

第六步:在 data 目录下创建一个 myid 文件,文件名就叫做“myid”。内容就是每个实例的 id。例如 1、2、3

这里我就截一个图啊,其他两个分别照着做,2 和 3

 CentOS 6.7 下 Solr 集群搭建详细教程

算了,我怕有些人不会。。。看清楚我在 solr-cloud 目录下执行的啊

CentOS 6.7 下 Solr 集群搭建详细教程

第七步:把 conf 目录下的 zoo_sample.cfg 文件改名为 zoo.cfg

这次我就真的只演示一个了,其他两个照做,其实第五步和第七步可以在第四步前做,是我疏忽了。

 CentOS 6.7 下 Solr 集群搭建详细教程

第八步:修改 zoo.cfg 配置文件。

只演示第一个,另外两个自己改。只改前两个红色框框里的(目录和端口号),最后那个红框里的内容三个配置文件一样

server.1 的这个 1,就是上面第六步的内容。在实际工作中每个实例在不同的服务器上,所以后面的 ip 应该是不同的,我这里是在一台虚拟机上演示,所以 ip 相同。

CentOS 6.7 下 Solr 集群搭建详细教程

第九步:启动每个 zookeeper 实例

这里一个个进目录里启动实在是好麻烦啊,我替大家写个简单的脚本

CentOS 6.7 下 Solr 集群搭建详细教程

CentOS 6.7 下 Solr 集群搭建详细教程

?
1
2
3
4
5
6
cd /usr/local/solr-cloud/zookeeper01/bin/
./zkServer.sh start
cd /usr/local/solr-cloud/zookeeper02/bin/
./zkServer.sh start
cd /usr/local/solr-cloud/zookeeper03/bin/
./zkServer.sh start

写完后发现没有执行权限,添加权限:

CentOS 6.7 下 Solr 集群搭建详细教程

然后运行脚本,就 OK 了

CentOS 6.7 下 Solr 集群搭建详细教程

为了验证,去三个 zookeeper 的实例里 bin 目录下分别查看每个实例的状态

(我刚开始是把查看状态的命令写在脚本里的,让一启动就查看,可每次都显示 not running,后来想了想,应该是因为脚本执行太快,启动命令执行了但还没启动起来,就去查看状态,所以会显示没有运行)

CentOS 6.7 下 Solr 集群搭建详细教程

CentOS 6.7 下 Solr 集群搭建详细教程

CentOS 6.7 下 Solr 集群搭建详细教程

如果你显示的是这样子的一个领导两个部下(leader 和 follower 不一定是谁,随机的),那么就代表 zookeeper 集群已经搭建完成

第一步完成了,下来搭建 solr 集群

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-12/149941p2.htm

三、solr 集群搭建

注意,在搭建 solr 集群前,建议最好有一个 solr 服务是已经搭建好的,可以简化大量重复的配置操作。

单机 solr 服务搭建过程参看我的这篇文章:

Solr 服务在 Linux 上的搭建详细教程  http://www.linuxidc.com/Linux/2017-12/149889.htm

这个单机 solr 服务在 solr 集群搭建第二步和第三步里需要,搭建好一个 solr 服务后,就可以进行集群搭建了。

第一步:创建四个 tomcat 实例。每个 tomcat 运行在不同的端口。8180、8280、8380、8480

上传解压步骤省略,这是我解压好的

CentOS 6.7 下 Solr 集群搭建详细教程

复制 tomcat 到之前搭建 zookeeper 集群第四步时,创建的 /usr/local/solr-cloud 目录里,复制 4 个

CentOS 6.7 下 Solr 集群搭建详细教程

去 solr-cloud 目录,发现已经复制好了 4 个 tomcat 目录

在 tomcat 目录下的 conf 里的 server.xml,修改每个 tomcat 的端口号,这里只演示第一个目录的,另外三个都要改,端口要互不冲突

CentOS 6.7 下 Solr 集群搭建详细教程

 用 /port 命令搜索 port 字符串,按 n 搜索下一个,有三个地方要改,依次更改为

CentOS 6.7 下 Solr 集群搭建详细教程

CentOS 6.7 下 Solr 集群搭建详细教程

CentOS 6.7 下 Solr 集群搭建详细教程

其他三个 tomcat 目录里的 server.xml 配置的端口按照 234 的顺序全改了啊,具体过程这里我就不截图了。

一共要改四个文件,每个文件里改三个地方,这 12 个端口号要互不冲突

CentOS 6.7 下 Solr 集群搭建详细教程

第二步:把单机版的 solr 工程复制到集群中的 tomcat 中

在搭建好的单机 solr 服务里(这里是另一篇教程,上面说过了),复制 solr 工程到第一步的 4 个 tomcat 目录里,一共是复制 4 份

CentOS 6.7 下 Solr 集群搭建详细教程

第三步:为每个 solr 实例创建一个对应的 solrhome。使用单机版的 solrhome 复制四份

一样在之前搭建的单机 solr 服务里,把 solrhome 复制 4 份出来到 solr-cloud 目录里

CentOS 6.7 下 Solr 集群搭建详细教程

现在 solr-cloud 目录里是有这些目录,检查一下有没有复制错地方的:

CentOS 6.7 下 Solr 集群搭建详细教程

第四步:配置 solrCloud 相关的配置。每个 solrhome 下都有一个 solr.xml,把其中的 ip 及端口号配置好

之前搭建单机版 solr 服务的时候没有动过 solrhome 里的这个文件,现在搭建集群了,需要进行修改

CentOS 6.7 下 Solr 集群搭建详细教程

需要修改 4 个 solr.xml,我这里还是只演示第一个,另外三个目录里的类比着改,一样的,就是 1234 的顺序

找到这个地方,第一个红框代表当前节点的 ip 地址,就是你部署这个 solrhome01,tomcat01 集群节点的服务器 ip,实际工作中就是会部署 4 个服务器,一个服务器是一个节点,部署一个 solr 服务

第二个红框代表当前 solr 服务实例的端口号,就是所在的 tomcat 的端口号,就是第一步在 tomcat01 的 server.xml 里配置的 8180

CentOS 6.7 下 Solr 集群搭建详细教程

我的配置完后是这样的

CentOS 6.7 下 Solr 集群搭建详细教程

其他三个照着改啊,由于我是在一台虚拟机搭建的四个实例,所以肯定四个实例的 ip 是一样的,但端口分别是 8180,8280,8380,8480

CentOS 6.7 下 Solr 集群搭建详细教程

第五步:需要修改 solr 服务的 web.xml 文件。把 solrhome 关联起来

修改这个文件,和之前单机版的 solr 配置是一样的

要注意的是,tomcat01 这里的 solr 服务,是上面第二步复制过来的对吧,是我之前用 solr7 搭建的单机 solr 服务,里面的配置和 solr4 不太一样,具体还是去文章最上面看我提供的单机 solr 服务搭建教程链接

CentOS 6.7 下 Solr 集群搭建详细教程

找到这个,这里是我之前搭建单机 solr 服务时,配置的 solrhome 路径

CentOS 6.7 下 Solr 集群搭建详细教程

现在改成集群的 solrhome01 目录,使他们关联起来

CentOS 6.7 下 Solr 集群搭建详细教程

其他三个 tomcat 里的 web.xml 都对应着一改,solrhome02,03,04

CentOS 6.7 下 Solr 集群搭建详细教程

第六步:让 zookeeper 统一管理配置文件。需要把 /conf 目录上传到 zookeeper

现在我们每一个 solr 都有了自己的 solrhome,现在我们要让每一个 solr 实例的配置文件都一样,这个配置文件需要集中管理,这个时候我们使用 zookeeper 来统一管理配置文件。所以要将配置文件上传到 zookeeper 中。那么上传哪些配置文件呢?

这里注意下 managed-schema 文件,网上有很多低版本 solr,会提到一个 collection1/conf 下的 schema.xml,但是并没有找到。好像是从 5.0 版本开始不使用 schema.xml 的,这俩其实内容都一样,搞不懂为啥要换个名字,而且内容格式是 xml,但是文件名却没有.xml 的后辍,这里直接上传整个 conf 目录就行。

CentOS 6.7 下 Solr 集群搭建详细教程

知道了要上传什么,那么怎么上传呢?打开最早 solr 解压出来的原始文件(如果删了那就重新上传解压吧)

CentOS 6.7 下 Solr 集群搭建详细教程

在这个目录下有个脚本文件,执行这个脚本就可以将配置文件上传到 zookeeper 了,有点难找,我是用 find 命令给搜出来的。不过我这里给出了 pwd 路径

 CentOS 6.7 下 Solr 集群搭建详细教程

要注意,在执行脚本上传配置文件前,必须先去启动 zookeeper 集群

CentOS 6.7 下 Solr 集群搭建详细教程

然后回来执行脚本

这里脚本的执行命令有点长,主要是参数多,建议复制出来改好后再粘贴上去

./zkcli.sh -zkhost 192.168.25.128:2181,192.168.25.128:2182,192.168.25.128:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/configsets/sample_techproducts_configs/conf -confname myconf

CentOS 6.7 下 Solr 集群搭建详细教程

我解释下各个参数的含义:

红色框代表 zookeeper 集群的 ip 和端口号列表(搭建 zookeeper 集群的时候配置过的)

绿色框代表要执行的是上传配置文件操作

黄色框代表的是要上传的配置文件目录(低版本不太一样,具体以那两个主要的配置文件所在目录为准,不知到在哪就 find 命令搜吧)

紫色框代表的是你给上传的配置起的名字,可以改

现在上传完了,那么我们怎么确定是否上传成功呢?去 zookeeper 集群的一个目录找到 bin 里 zookeeper 的客户端脚本

CentOS 6.7 下 Solr 集群搭建详细教程

运行后,里面会出现一大堆内容,如果你不指定参数,他会默认访问 localhost:2181

CentOS 6.7 下 Solr 集群搭建详细教程

在最下面执行这个命令,查看在根目录下有什么,发现一个 configs

CentOS 6.7 下 Solr 集群搭建详细教程

再看它里面有什么?哈!

CentOS 6.7 下 Solr 集群搭建详细教程

这就是我们刚才上传的配置了,名字一样的,代表上传成功了

然后用 quit 命令退出

CentOS 6.7 下 Solr 集群搭建详细教程

如果你需要修改配置的话,只用在刚才那个 conf 目录里改好,改好后再上传一次就行了,就会覆盖原来的配置文件

第七步:修改 tomcat/bin 目录下的 catalina.sh 文件,关联 solr 和 zookeeper

现在上传好配置文件了,可是 solr 和 zookeeper 还没有建立任何关系,他们也不知道对方在哪里,这个时候需要修改 4 个 tomcat 的配置文件,这里只演示 tomcat01,其他三个完全相同照着改

CentOS 6.7 下 Solr 集群搭建详细教程

打开 catalina.sh 文件,加一个 Java_OPTS 这个参数,初始化这个值完了会传给 solr,注意不是在这个截图这里修改啊

CentOS 6.7 下 Solr 集群搭建详细教程

用 /JAVA_OPTS 搜索红色框框里的这句话(因为低版本加的位置长的不太一样,但这句话的例子是不变的),在这句话下面的位置加(注意位置啊,不要弄错了):

CentOS 6.7 下 Solr 集群搭建详细教程

加上 JAVA_OPTS 的值(zookeeper 集群的 ip 列表):

JAVA_OPTS="-DzkHost=192.168.25.128:2181,192.168.25.128:2182,192.168.25.128:2183"

CentOS 6.7 下 Solr 集群搭建详细教程

然后把其他三个 tomcat 也一改,改的位置和内容是一样的,不用变

CentOS 6.7 下 Solr 集群搭建详细教程

这样每个 solr 实例就通过这个参数和 zookeeper 集群建立了联系,solr 会将自己的状态发送给 zookeeper,比如 ip 地址啊,端口号啊,zookeeper 就可以连接到 solr 了,建立了通信关系

第八步:启动每个 tomcat 实例。要包装 zookeeper 集群是启动状态

现在需要启动每个 tomcat,当然了,这个和启动 zookeeper 集群一样,要一个一个进去启动,太麻烦了,还是写个批处理脚本来运行

CentOS 6.7 下 Solr 集群搭建详细教程

/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

CentOS 6.7 下 Solr 集群搭建详细教程

保存,退出

CentOS 6.7 下 Solr 集群搭建详细教程

发现没有运行权限,添加权限

CentOS 6.7 下 Solr 集群搭建详细教程

然后运行脚本,等等啊,tomcat 集群启动比较慢

CentOS 6.7 下 Solr 集群搭建详细教程

如果你想看启动起来没,可以复制一个会话窗口(我用的 xshell5),去看看 tomcat 的日志信息(相当于看控制台打印信息)

CentOS 6.7 下 Solr 集群搭建详细教程

用这个命令查看,我这就查看一个,应该已经启动好了

CentOS 6.7 下 Solr 集群搭建详细教程

这里说个小知识点,tomcat8 开始,默认启动的是 NIO 模式,7 默认启动的是 BIO 模式���还可以通过配置设置 APR 模式启动,至于 APR,NIO 和 BIO 的区别,是和 tomcat 并发性能有关的,高并发的系统应该将 tomcat 的模式设置成 APR 模式,会大幅度的提高服务器的处理和响应性能。感兴趣的可以自己百度下。当然这个不用在意,跟本文集群搭建没啥关系,就是想到了说一下。

第九步:访问集群

然后用自己的电脑访问下咱们的集群吧,之前单机版是没有红框框出来的两个东西的,出现这个就是 OK 了

CentOS 6.7 下 Solr 集群搭建详细教程

我这里还没创建 collections,所以啥都没有:

CentOS 6.7 下 Solr 集群搭建详细教程

注意下访问地址的输入,要写全。访问地址写成这样会 404

CentOS 6.7 下 Solr 集群搭建详细教程

第十步:创建新的 Collection 进行分片处理

点击页面的 Collections 按钮,然后就能添加了(高版本的 solr 才有,低版本的需要通过地址栏传递参数去设置,比较麻烦)

CentOS 6.7 下 Solr 集群搭建详细教程

我这里选择的是名字叫 mycollection1,用自己上传的 myconf 配置文件,有 2 片 shard,每个 shard 有 2 个备份节点一主一备

CentOS 6.7 下 Solr 集群搭建详细教程

然后回去看下,这样 solr 集群就搭建 ok 了!

CentOS 6.7 下 Solr 集群搭建详细教程

第十一步:删除不用的 Collection 或 core

删除 collection,点这里,然后输入你要删除的 collection 名称就行

CentOS 6.7 下 Solr 集群搭建详细教程

 删除 core 在右边,完了如果要添加下面有 add replica(如果工作中你的哪个备份机挂了,就这样删掉挂的服务器,再添加一个好的就行,当然了,在这里添加前,肯定是需要在服务器上部署好 solr 服务,然后连接 zookeeper 集群才行的)

CentOS 6.7 下 Solr 集群搭建详细教程

更多 Solr 相关教程见以下内容

Solr3.6.1 在 Tomcat6 下的环境搭建 http://www.linuxidc.com/Linux/2013-01/77664.htm

Apache Solr: 安装和运行 http://www.linuxidc.com/Linux/2016-12/138527.htm

在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4 http://www.linuxidc.com/Linux/2012-09/71158.htm

Solr 实现 Low Level 查询解析(QParser)http://www.linuxidc.com/Linux/2012-05/59755.htm

Solr6.0.0 + Tomcat8 配置问题 http://www.linuxidc.com/Linux/2016-05/131845.htm

基于 Solr 3.5 搭建搜索服务器 http://www.linuxidc.com/Linux/2012-05/59743.htm

Solr 3.5 开发应用教程 PDF 高清版 http://www.linuxidc.com/Linux/2013-10/91048.htm

Solr 4.0 部署实例教程 http://www.linuxidc.com/Linux/2013-10/91041.htm

Solr 的详细介绍:请点这里
Solr 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149941.htm

一、Solr 集群的系统架构

SolrCloud(solr 云)是 Solr 提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用 SolrCloud 的,当索引量很大,搜索请求并发很高,这时需要使用 SolrCloud 来满足这些需求。

SolrCloud 是基于 Solr 和 Zookeeper 的分布式搜索方案,它的主要思想是使用 Zookeeper 作为集群的配置信息中心。

商业用途请联系本人 dijia478@163.com

它有几个特色功能:

1)集中式的配置信息

2)自动容错

3)近实时搜索

4)查询时自动负载均衡

CentOS 6.7 下 Solr 集群搭建详细教程

1. 物理结构

三个 Solr 实例(每个实例包括两个 Core),组成一个 SolrCloud。

2. 逻辑结构

索引集合包括两个 Shard(shard1 和 shard2),shard1 和 shard2 分别由三个 Core 组成,其中一个 Leader 两个 Replication,Leader 是由 zookeeper 选举产生,zookeeper 控制每个 shard 上三个 Core 的索引数据一致,解决高可用问题。

用户发起索引请求分别从 shard1 和 shard2 上获取,解决高并发问题。

2.1. collection

Collection 在 SolrCloud 集群中是一个逻辑意义上的完整的索引结构。它常常被划分为一个或多个 Shard(分片),它们使用相同的配置信息。

比如:针对商品信息搜索可以创建一个 collection。

collection=shard1+shard2+….+shardX

2.2. Core

每个 Core 是 Solr 中一个独立运行单位,提供 索引和搜索服务。一个 shard 需要由一个 Core 或多个 Core 组成。由于 collection 由多个 shard 组成所以 collection 一般由多个 core 组成。

2.3. Master 或 Slave

Master 是 master-slave 结构中的主结点(通常说主服务器),Slave 是 master-slave 结构中的从结点(通常说从服务器或备服务器)。同一个 Shard 下 master 和 slave 存储的数据是一致的,这是为了达到高可用目的。

2.4. Shard

Collection 的逻辑分片。每个 Shard 被化成一个或者多个 replication,通过选举确定哪个是 Leader。

3. 本教程实现的 solr 集群架构

CentOS 6.7 下 Solr 集群搭建详细教程

Zookeeper 作为集群的管理工具。

1、集群管理:容错、负载均衡。

2、配置文件的集中管理

3、集群的入口

需要实现 zookeeper 高可用。需要搭建集群。建议是奇数节点。需要三个 zookeeper 服务器。

搭建 solr 集群至少需要 7 台服务器。

这里因环境限制,演示的是搭建伪分布式(在一台虚拟机上,建议内存至少 1G):

需要三个 zookeeper 节点

需要四个 tomcat 节点。

本文使用 tomcat 进行部署,而不使用 solr 自带的 jetty

4. 系统环境

CentOS-6.7-i386-bin-DVD1

jdk-8u151-linux-i586

apache-tomcat-8.5.24

zookeeper-3.4.10

solr-7.1.0

注意:solr6.0 以上版本,官方建议使用 jdk8,tomcat8,搭建步骤和 solr6 以下略微有区别

二、Zookeeper 集群搭建

第一步:需要安装 jdk 环境。

JDK 安装过程省略,不会的去看我的这篇文章:

简单易懂的 CentOS 6.7 上安装 JDK 入门教程  http://www.linuxidc.com/Linux/2017-12/149877.htm

能看集群搭建教程的,应该不可能不会安 JDK 吧,安好之后是这样的

CentOS 6.7 下 Solr 集群搭建详细教程

第二步:把 zookeeper 的压缩包上传到服务器。

CentOS 6.7 下 Solr 集群搭建详细教程

第三步:解压缩。

解压过程省略,我这里解压到了 /usr/share/

CentOS 6.7 下 Solr 集群搭建详细教程

第四步:把 zookeeper 复制三份。

先创建目录 /usr/local/solr-cloud

CentOS 6.7 下 Solr 集群搭建详细教程

第五步:在每个 zookeeper 目录下创建一个 data 目录。

 CentOS 6.7 下 Solr 集群搭建详细教程

第六步:在 data 目录下创建一个 myid 文件,文件名就叫做“myid”。内容就是每个实例的 id。例如 1、2、3

这里我就截一个图啊,其他两个分别照着做,2 和 3

 CentOS 6.7 下 Solr 集群搭建详细教程

算了,我怕有些人不会。。。看清楚我在 solr-cloud 目录下执行的啊

CentOS 6.7 下 Solr 集群搭建详细教程

第七步:把 conf 目录下的 zoo_sample.cfg 文件改名为 zoo.cfg

这次我就真的只演示一个了,其他两个照做,其实第五步和第七步可以在第四步前做,是我疏忽了。

 CentOS 6.7 下 Solr 集群搭建详细教程

第八步:修改 zoo.cfg 配置文件。

只演示第一个,另外两个自己改。只改前两个红色框框里的(目录和端口号),最后那个红框里的内容三个配置文件一样

server.1 的这个 1,就是上面第六步的内容。在实际工作中每个实例在不同的服务器上,所以后面的 ip 应该是不同的,我这里是在一台虚拟机上演示,所以 ip 相同。

CentOS 6.7 下 Solr 集群搭建详细教程

第九步:启动每个 zookeeper 实例

这里一个个进目录里启动实在是好麻烦啊,我替大家写个简单的脚本

CentOS 6.7 下 Solr 集群搭建详细教程

CentOS 6.7 下 Solr 集群搭建详细教程

?
1
2
3
4
5
6
cd /usr/local/solr-cloud/zookeeper01/bin/
./zkServer.sh start
cd /usr/local/solr-cloud/zookeeper02/bin/
./zkServer.sh start
cd /usr/local/solr-cloud/zookeeper03/bin/
./zkServer.sh start

写完后发现没有执行权限,添加权限:

CentOS 6.7 下 Solr 集群搭建详细教程

然后运行脚本,就 OK 了

CentOS 6.7 下 Solr 集群搭建详细教程

为了验证,去三个 zookeeper 的实例里 bin 目录下分别查看每个实例的状态

(我刚开始是把查看状态的命令写在脚本里的,让一启动就查看,可每次都显示 not running,后来想了想,应该是因为脚本执行太快,启动命令执行了但还没启动起来,就去查看状态,所以会显示没有运行)

CentOS 6.7 下 Solr 集群搭建详细教程

CentOS 6.7 下 Solr 集群搭建详细教程

CentOS 6.7 下 Solr 集群搭建详细教程

如果你显示的是这样子的一个领导两个部下(leader 和 follower 不一定是谁,随机的),那么就代表 zookeeper 集群已经搭建完成

第一步完成了,下来搭建 solr 集群

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-12/149941p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计9904字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7985915
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...