Solr 7.5.0集群搭建

一:什么是solrcloud?

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

二:solrcloud的结构(网盗)

三:准备工作

☛ 准备java环境 ☚

zookeeper是用Java编写的,运行在Java环境上,因此,在部署zk的机器上需要安装Java运行环境。为了正常运行zk,我们需要JRE1.6或者以上的版本。

参考博客:linux安装jdk

☛ 下载solr、zookeeper安装包 ☚

zookeeper-3.4.12.tar.gz、solr-7.5.0.tgz 

zookeeper:zk下载地址

solr:solr下载地址

☛ 上传解压、重命名 ☚

tar -zxvf zookeeper-3.4.12.tar.gz #解压zookeeper
tar -zxvf solr-7.5.0.tgz          #解压solr
mv zookeeper-3.4.12 zookeeper  #重命名zookeeper
mv solr-7.5.0 solr             #重命名solr

二:伪solr集群搭建(一台服务器)

☛ zookeeper集群搭建 ☚  

1:复制三份zookeeper,分别为zk1,zk2,zk3

cp -r zookeeper zk1
cp -r zookeeper zk2
cp -r zookeeper zk3

2:zk1,zk2,zk3目录下新建数据目录data日志目录log

cd zk1    #zk2、zk3操作类同
mkdir data
mkdir log

3:zk1/data,zk2/data,zk3/data目录下创建zookeeper标识文件 myid,并设置标识id

cd zk1/data/
touch myid
echo 1 > myid    #设置zk1的标识id为1,zk2、zk3操作类同,只是zk2的标识id设置为2,zk3的标识id设置为3 

4:创建zk1、zk2、zk3的配置文件

cd zk1/conf                  #zk2、zk3操作类同
mv zoo_sample.cfg zoo.cfg

5:修改zk1、zk2、zk3的配置文件zoo.cfg

zk1为例:

▶▶ 修改dataDir和clientPort参数
# 配置zookeeper数据目录
dataDir=/usr/local/soft/zk1/data
# 配置zookeeper端口
clientPort=2181

▶▶ 添加dataLogDir和server.id参数

# 配置zookeeper的日志目录
dataLogDir=/usr/local/soft/zk1/log
# 配置zookeeper集群   server.标识id = ip:通信端口:投票选举端口
server.1=192.168.1.211:2881:3881
server.2=192.168.1.211:2882:3882
server.3=192.168.1.211:2883:3883

zk2:

dataDir=/usr/local/soft/zk2/data
dataLogDir=/usr/local/soft/zk2/log
clientPort=2182
server.1=192.168.1.211:2881:3881
server.2=192.168.1.211:2882:3882
server.3=192.168.1.211:2883:3883

zk3:

dataDir=/usr/local/soft/zk3/data
dataLogDir=/usr/local/soft/zk3/log
clientPort=2183
server.1=192.168.1.211:2881:3881
server.2=192.168.1.211:2882:3882
server.3=192.168.1.211:2883:3883

6:zk1、zk2、zk3的启动,停止,查看状态脚本

▶▶ 启动    zk_all_start.sh

/usr/local/soft/zk1/bin/zkServer.sh start
/usr/local/soft/zk2/bin/zkServer.sh start
/usr/local/soft/zk3/bin/zkServer.sh start

▶▶ 停止   zk_all_stop.sh

/usr/local/soft/zk1/bin/zkServer.sh stop
/usr/local/soft/zk2/bin/zkServer.sh stop
/usr/local/soft/zk3/bin/zkServer.sh stop

▶▶ 查看状态  zk_all_status.sh

/usr/local/soft/zk1/bin/zkServer.sh status
/usr/local/soft/zk2/bin/zkServer.sh status
/usr/local/soft/zk3/bin/zkServer.sh status

☛ solrcloud搭建 ☚  

1:复制四份solr,分别为solr1、solr2、solr3、solr4

2:solr1、solr2、solr3、solr4 修改solr.in.sh(zk/bin/solr.in.sh)配置

#让solr关联zookeeper
ZK_HOST="192.168.1.211:2181,192.168.1.211:2182,192.168.1.211:2183"
#solr主机ip地址
SOLR_HOST="192.168.1.211"
#更改端口分别为8981,solr2端口为8982,solr3端口为8983,solr4端口为8984
SOLR_PORT=8981

3:solr1、solr2、solr3、solr4启动,停止脚本

▶▶ 启动    solr_all_start.sh

/usr/local/soft/solr1/bin/solr start -force
/usr/local/soft/solr2/bin/solr start -force
/usr/local/soft/solr3/bin/solr start -force
/usr/local/soft/solr4/bin/solr start -force

▶▶ 停止   solr_all_stop.sh

/usr/local/soft/solr1/bin/solr stop
/usr/local/soft/solr2/bin/solr stop
/usr/local/soft/solr3/bin/solr stop
/usr/local/soft/solr4/bin/solr stop

☛ 启动zk集群、solrcloud,创建collection ☚  

1:创建collecion

./zk_all_start.sh     #启动zookeeper集群
./solr_all_start.sh   #启动solrcloud
cd solr1/bin/         #进入solrcloud其中任意一个节点solr的bin目录


#-s 分片个数、-rf副本个数
./solr create -c core1-s 2 -rf 2 -force  #创建集合,指定2个分片、2个副本

2:访问solrcloud任意一个节点服务器,查看collection集群

☛ 上传solr配置文件到zookeeper,统一管理 ☚  

1:使用 zkcli.sh 命令上传 , solr/server/scripts/cloud-scripts目录下

#zkhost:指定zookeeper集群
#condir: 指定要上传的文件  
#confname: 命名上传zk之后的文件

./zkcli.sh -zkhost 192.168.1.211:2181,192.168.1.211:2182,192.168.1.211:2183 -cmd upconfig -confdir /usr/local/soft/solr1/server/solr/configsets/_default/conf/ -confname solrconfig

:2:登录zk客户端,查看配置文件

cd /usr/local/soft/zk1/bin   #进入zk的bin目录
./zkCli.sh                   #连接客户端

连接客户端之后,使用 ls path查看文件 ,更多zk操作命令使用help进行查看

猜你喜欢

转载自blog.csdn.net/qq_37936542/article/details/83113083