当前位置:首页 > 服务端 > Linux+Solr+Zookeeper-02:Solr+Zookeeper集群配置SolrCloud

Linux+Solr+Zookeeper-02:Solr+Zookeeper集群配置SolrCloud

2022年09月17日 08:47:35服务端6

[超级连接:Linux+Solr+Zookeeper系列-序章]


本文主要讲解如何在Linux服务器上搭建通过Solr + Zookeeper搭建Solr集群服务(SolrCloud)。

1.环境

  • Ubuntu 16.04 LTS
  • jdk1.8.0_161
  • solr-6.6.0

由于资源有限,所以本人实际搭建时,并没有在三台计算机上进行集群搭建,只是在VMware上的一个虚机Ubuntu上进行了伪集群搭建

虽然是伪集群,但是与集群的搭建方法是类似的,而且比集群搭建更加复杂。

为了便于参考,在后面的章节中给出了集群方式的参考配置

2.配置Solr(伪集群方式)

关于Solr的配置请参考之前的文章:Linux+Solr+Zookeeper-01

伪集群中的Solr配置:

//分别在复制3分solr目录至相应目录
sudo cp /home/hanchao/solr-6.6.0/ /usr/local/solrcloud/solr1
sudo cp /home/hanchao/solr-6.6.0/ /usr/local/solrcloud/solr2
sudo cp /home/hanchao/solr-6.6.0/ /usr/local/solrcloud/solr3

修改Solr的执行权限

//授权(777有点粗暴,用户可以根据自身需求精确授权)
sudo chmod -R 777 /usr/local/solrcloud/solr1
sudo chmod -R 777 /usr/local/solrcloud/solr2
sudo chmod -R 777 /usr/local/solrcloud/solr3

3.配置Zookeeper(伪集群方式)

下载地址:

https://archive.apache.org/dist/zookeeper/

解压安装

//解压
tar -zvxf zookeeper-3.4.9.tar.gz 

拷贝并重命名zookeeper

//拷贝并重命名zookeeper目录
sudo cp -r zookeeper-3.4.9 /usr/local/solrcloud/zookeeper1
sudo cp -r zookeeper-3.4.9 /usr/local/solrcloud/zookeeper2
sudo cp -r zookeeper-3.4.9 /usr/local/solrcloud/zookeeper3

创建集群中的服务id

//创建data目录
sudo mkdir /usr/local/solrcloud/zookeeper1/data
sudo mkdir /usr/local/solrcloud/zookeeper2/data
sudo mkdir /usr/local/solrcloud/zookeeper3/data
//创建myid文件
sudo vim /usr/local/solrcloud/zookeeper1/data/myid
sudo vim /usr/local/solrcloud/zookeeper2/data/myid
sudo vim /usr/local/solrcloud/zookeeper3/data/myid

其中,

  • /usr/local/solrcloud/zookeeper1/data/myid中的内容为1
  • /usr/local/solrcloud/zookeeper2/data/myid中的内容为2
  • /usr/local/solrcloud/zookeeper3/data/myid中的内容为3

配置cfg配置文件

zookeeper1

//拷贝示例配置文件并重命名为zoo.cfg
sudo cp /usr/local/solrcloud/zookeeper1/conf/zoo_sample.cfg /usr/local/solrcloud/zookeeper1/conf/zoo.cfg
//修改zoo.cfg配置文件
sudo vim /usr/local/solrcloud/zookeeper1/conf/zoo.cfg

其中/usr/local/solrcloud/zookeeper1/conf/zoo.cfg主要修改项如下:

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/usr/local/solrcloud/zookeeper1/data/
# the port at which the clients will connect
clientPort=2181
server.1=192.168.71.128:2881:3881
server.2=192.168.71.128:2882:3882
server.3=192.168.71.128:2883:3883

zookeeper2

//拷贝示例配置文件并重命名为zoo.cfg
sudo cp /usr/local/solrcloud/zookeeper2/conf/zoo_sample.cfg /usr/local/solrcloud/zookeeper2/conf/zoo.cfg
//修改zoo.cfg配置文件
sudo vim /usr/local/solrcloud/zookeeper2/conf/zoo.cfg

其中/usr/local/solrcloud/zookeeper2/conf/zoo.cfg主要修改项如下:

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/usr/local/solrcloud/zookeeper2/data/
# the port at which the clients will connect
clientPort=2181
server.1=192.168.71.128:2881:3881
server.2=192.168.71.128:2882:3882
server.3=192.168.71.128:2883:3883

zookeeper3

//拷贝示例配置文件并重命名为zoo.cfg
sudo cp /usr/local/solrcloud/zookeeper3/conf/zoo_sample.cfg /usr/local/solrcloud/zookeeper3/conf/zoo.cfg
//修改zoo.cfg配置文件
sudo vim /usr/local/solrcloud/zookeeper3/conf/zoo.cfg

其中/usr/local/solrcloud/zookeeper3/conf/zoo.cfg主要修改项如下:

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/usr/local/solrcloud/zookeeper3/data/
# the port at which the clients will connect
clientPort=2181
server.1=192.168.71.128:2881:3881
server.2=192.168.71.128:2882:3882
server.3=192.168.71.128:2883:3883

启动zookeeper

//启动zookeeper1
sudo zookeeper1/bin/zkServer.sh start
//启动成功信息
ZooKeeper JMX enabled by default
Using config: /usr/local/solrcloud/zookeeper1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
//启动zookeeper2
sudo zookeeper2/bin/zkServer.sh start
//启动成功信息
ZooKeeper JMX enabled by default
Using config: /usr/local/solrcloud/zookeeper2/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
//启动zookeeper3
sudo zookeeper3/bin/zkServer.sh start
//启动成功信息
ZooKeeper JMX enabled by default
Using config: /usr/local/solrcloud/zookeeper3/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看zookeeper状态

//查看zookeeper1状态
sudo zookeeper1/bin/zkServer.sh status
//状态显示zookeeper1是follower节点
ZooKeeper JMX enabled by default
Using config: /usr/local/solrcloud/zookeeper1/bin/../conf/zoo.cfg
Mode: follower
//查看zookeeper2状态
sudo zookeeper2/bin/zkServer.sh status
//状态显示zookeeper2是leader节点
ZooKeeper JMX enabled by default
Using config: /usr/local/solrcloud/zookeeper2/bin/../conf/zoo.cfg
Mode: leader
//查看zookeeper3状态
sudo zookeeper3/bin/zkServer.sh status
//状态显示zookeeper3是follower节点
ZooKeeper JMX enabled by default
Using config: /usr/local/solrcloud/zookeeper3/bin/../conf/zoo.cfg
Mode: follower

当前zookeeper2是leader,其他两个服务是follower。


查看zookeeper情况

//查询2181,即zookeeper1的情况
echo stat|nc 127.0.0.1 2181
//信息类似如下
Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
Clients:
 /127.0.0.1:42336[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 3
Sent: 2
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4
//查询2182,即zookeeper2的情况
echo stat|nc 127.0.0.1 2182
//信息类似如下
Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
Clients:
 /127.0.0.1:52072[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: leader
Node count: 4
//查询2183,即zookeeper3的情况
echo stat|nc 127.0.0.1 2183
//信息类似如下
Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
Clients:
 /127.0.0.1:45990[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 2
Sent: 1
Connections: 1
Outstanding: 0
Zxid: 0x100000000
Mode: follower
Node count: 4

4.用Zookeeper启动SolrCloud(伪集群方式)

以SolrCloud方式启动

//启动solr1
./solr1/bin/solr start -c -p 8983 -z 192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183
//启动信息
Waiting up to 180 seconds to see Solr running on port 8983 [-]
Started Solr server on port 8983 (pid=15592). Happy searching!
//启动solr2
./solr2/bin/solr start -c -p 8984 -z 192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183
//启动信息
Waiting up to 180 seconds to see Solr running on port 8984 [-]
Started Solr server on port 8984 (pid=15814). Happy searching!
//启动solr3
./solr3/bin/solr start -c -p 8985 -z 192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183
//启动信息
Waiting up to 180 seconds to see Solr running on port 8985 [-]
Started Solr server on port 8985 (pid=16020). Happy searching!

参数说明:

  • -c:SolrCloud模式
  • -p 8983:端口号
  • -z:以Zookeeper方式
  • 192.168.71.128:2181,192.168.71.128:2182,192.168.71.128:2183:Zookeeper服务地址集,以逗号分隔

验证SolrCloud启动成功
在浏览器中分别验证一下服务能够正常访问:

在任意一个服务中,找到下面的配置,存在节点信息,则证明Solr伪集群配置成功。
Linux+Solr+Zookeeper-02:Solr+Zookeeper集群配置SolrCloud _ JavaClub全栈架构师技术笔记



下面提供集群的配置方式,本人并没有亲测,但是应该可用。

如果存在问题,请多多指教。

11.环境假设

假设有三台服务器,其IP地址如下:

  • 192.168.71.128,以下简称为71.128
  • 192.168.71.129,以下简称为71.129
  • 192.168.71.130,以下简称为71.130

22.配置Solr(集群方式)

关于Solr的配置请参考之前的文章:Linux+Solr+Zookeeper-01

集群中的Solr配置:

//分别在三台服务器进行操作
sudo cp /home/hanchao/solr-6.6.0/ /usr/local/solrcloud/solr

修改Solr的执行权限

//分别在三台服务器进行授权(777有点粗暴,用户可以根据自身需求精确授权)
sudo chmod -R 777 /usr/local/solrcloud/solr

33.配置Zookeeper(集群方式)

下载地址:

https://archive.apache.org/dist/zookeeper/

解压安装

//分别在三台服务器,解压
tar -zvxf zookeeper-3.4.9.tar.gz 

拷贝并重命名zookeeper

//分别在三台服务器,拷贝并重命名zookeeper目录
sudo cp -r zookeeper-3.4.9 /usr/local/solrcloud/zookeeper

创建集群中的服务id

//分别在三台服务器,创建data目录
sudo mkdir /usr/local/solrcloud/zookeeper/data
//分别在三台服务器,创建myid文件
sudo vim /usr/local/solrcloud/zookeeper/data/myid

其中,

  • 在服务器71.128上的/usr/local/solrcloud/zookeeper/data/myid中的内容为1
  • 在服务器71.129上的/usr/local/solrcloud/zookeeper/data/myid中的内容为2
  • 在服务器71.130上的/usr/local/solrcloud/zookeeper/data/myid中的内容为3

配置cfg配置文件
分别在三台服务器上进行以下操作:

//拷贝示例配置文件并重命名为zoo.cfg
sudo cp /usr/local/solrcloud/zookeeper/conf/zoo_sample.cfg /usr/local/solrcloud/zookeeper/conf/zoo.cfg
//修改zoo.cfg配置文件
sudo vim /usr/local/solrcloud/zookeeper/conf/zoo.cfg

其中/usr/local/solrcloud/zookeeper/conf/zoo.cfg主要修改项如下:

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/usr/local/solrcloud/zookeeper/data/
# the port at which the clients will connect
clientPort=2181
server.1=192.168.71.128:2881:3881
server.2=192.168.71.129:2881:3881
server.3=192.168.71.130:2881:3881

自动zookeeper

分别在三台服务器上进行以下操作:

//启动zookeeper
sudo zookeeper/bin/zkServer.sh start
//启动成功
ZooKeeper JMX enabled by default
Using config: /usr/local/solrcloud/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看zookeeper状态

分别在三台服务器上进行以下操作:

sudo zookeeper/bin/zkServer.sh status

ZooKeeper JMX enabled by default
Using config: /usr/local/solrcloud/zookeeper/bin/../conf/zoo.cfg
Mode: follower

最后的Mode可能为follower或者leader。


查看zookeeper情况

分别在三台服务器上进行以下操作:

//查询2181,即zookeeper的情况
echo stat|nc 127.0.0.1 2181
//信息类似如下
Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT
Clients:
 /127.0.0.1:42336[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 3
Sent: 2
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: follower
Node count: 4

44.用Zookeeper启动SolrCloud(集群方式)

以SolrCloud方式启动

分别在三台服务器上进行以下操作:

//启动solr
./solr/bin/solr start -c -p 8983 -z 192.168.71.128:2181,192.168.71.129:2181,192.168.71.130:2181
//启动信息
Waiting up to 180 seconds to see Solr running on port 8983 [-]
Started Solr server on port 8983 (pid=15592). Happy searching!

参数说明:

  • -c:SolrCloud模式
  • -p 8983:端口号
  • -z:以Zookeeper模式
  • 192.168.71.128:2181,192.168.71.129:2181,192.168.71.130:2181:Zookeeper服务地址集,以逗号分隔

验证SolrCloud启动成功
在浏览器中分别验证一下服务能够正常访问:

在任意一个服务中,找到下面的配置,存在节点信息,则证明Solr伪集群配置成功。

Linux+Solr+Zookeeper-02:Solr+Zookeeper集群配置SolrCloud _ JavaClub全栈架构师技术笔记

作者:hanchao5272
来源链接:https://blog.csdn.net/hanchao5272/article/details/79866843

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/42502.html

标签: Solr
分享给朋友:

“Linux+Solr+Zookeeper-02:Solr+Zookeeper集群配置SolrCloud” 的相关文章

[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一.

[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一.

在这里一下讲解着三个的安装和配置, 是因为solr需要使用tomcat和IK分词器, 这里会通过图文教程的形式来详解它们的安装和使用.注: 本文属于原创文章, 如若转载,请注明出处, 谢谢.关于设置IK分词器的文章 IK分词器: Linux下IK分词器的安装及配置1...

官方配置solr步骤(四)---solr服务开机自启动设置(windows)

官方配置solr步骤(四)---solr服务开机自启动设置(windows)

solr开机自启动设置 1、第一种方法 自写bat文件   首先新建一个txt 文件,并更名后缀为bat ,我名字叫solrstart.bat 。在里边填写下边的内容 @echo off echo 'solr服务启动中' start "...

SpringBoot+solr配置入门

SpringBoot+solr配置入门

1.首先solr已经配置完毕,并且含有数据 2.开始搭建工程 3.编写配置文件 同样找到resources下的application.propertis文件 集群和单机版配置有差别 3.1单机版 需要指定solr服务器的ip端口实例名...

指尖上的电商---(3)Solr全文搜索引擎的配置

指尖上的电商---(3)Solr全文搜索引擎的配置

                   接上篇,Solr的准备工作完毕后,本节主要介绍Solr的安...

solr控制台详解

solr控制台详解

solr 服务器管理界面可以查看系统状态、solr设置、分词检测、查询索引、增减core、查看日志等 1.Dashboard(仪表盘) 访问http://localhost:8080/solr时,出现该主页面,可查看到s...

Apache Solr 安装及启动

Apache Solr 安装及启动

1.下载地址  https://lucene.apache.org/solr/ 下载解压后目录如下 bin:启动和停止服务器的脚本。example: 示例。server/logs 文件夹,所有Solr日志都写入该文件夹。server/solr文...

Solr 的安装方式

1.下载solr项目包 或者上传压缩包到服务器 直接去官网下载 https://lucene.apache.org/solr/downloads.html 或者 wget https://mirror.bit.edu.cn/apache/lucene/s...

solr6.3安装部署

部署solr6.3到tomcat 环境 jdk1.8 tomcat9 解压Solr6.3.0到%solr%文件夹 解压得到的文件夹下做如下操作: 将%solr%/server/solr-webap...

Solr使用初探——Solr的安装环境与配置

Solr是一个apache名下很好用的开源索引、搜索工具,网上的资料虽多但很杂,笔者花了一天的时间对Solr进行了较为初步的研究,对Solr的基础应用做了一定的总结。文中涉及到的配置方法并不唯一,API的用法也未必规范,仅希望能够通过此文让大家对solr更快的入手。...

Linux安装solr 4.10.3

Linux安装solr 4.10.3

1.下载并解压: $ wget http://archive.apache.org/dist/lucene/solr/4.10.3/solr-4.10.3.tgz $ tar zxf solr-4.10.3.tgz 2.整合tomcat:...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。