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

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

133次阅读
没有评论

共计 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、短信等云产品特惠热卖中