搭建SolrCloud模式的集群,使用内置的Jetty运行
一、硬件环境
假设有4台机,IP及主机名如下:
192.168.100.105 c1 192.168.100.110 c2 192.168.100.115 c3 192.168.100.120 c4
二、软件环境
操作系统:Ubuntu Server 18.04
JDK:1.8.0
1.安装JDK
https://www.cnblogs.com/live41/p/14235891.html
2.安装ZooKeeper
https://www.cnblogs.com/live41/p/15522363.html
安装完后,在3台机分别启动ZooKeeper
zkServer.sh start
3.Jetty
Jetty是Solr内置的,不需要另外安装
三、搭建Solr集群(SolrCloud模式)
* 先登录root账号再进行以下操作
* 下面第2-7点需要在所有机器都操作一次
假定Solr安装在/home/目录
1.下载
https://solr.apache.org/downloads.html
下载最新版,这里下载的是8.11.0,文件名是solr-8.11.0.tgz
2.上传到服务器
分别上传到4台机,这里放在/home/目录
cd /home
rz
3.解压
cd /home
tar -xvf solr-8.11.0.tgz mv solr-8.11.0 solr
4.配置环境变量
vim ~/.bashrc
添加以下内容:
export PATH=$PATH:/home/solr/bin
保存后,更新环境变量:
source ~/.bashrc
5.配置solr.in.sh
cd /home/solr/bin vim solr.in.sh
反注释或添加以下属性:
SOLR_JAVA_HOME="/usr/bin/jdk1.8.0" SOLR_JAVA_MEM="-Xms512m -Xmx1024m" SOLR_TIMEZONE="Asia/Shanghai" ZK_HOST="c1:2181,c2:2181,c3:2181" SOLR_HOST="c1"
* SOLR_HOST属性是每台机填自己的主机名或IP,例如,在c1机填c1或192.168.100.105,在c2机填c2或192.168.100.110
6.配置solr.xml
vim /solr/server/solr/solr.xml
修改或添加以下属性:
<str name="host">c1</str> <int name="hostPort">8983</int> <str name="zkHost">c1:2181,c2:2181,c3:2181</str>
host属性除了IP,也可以用主机名,例如c1、c2、……
host属性在每台机要配置该机器的IP,例如在c1机要配置c1或192.168.100.105,在c2机要配置c2或192.168.100.110
hostPost属性是对应服务端(Jetty或Tomcat)监听的端口,默认是8983
zkHost属性是ZooKeeper全部节点的地址,用逗号隔开
7.启动
#新版
solr start -cloud -force
#旧版,不建议使用
solr start -cloud -z c1:2181 -p 8983 -force
-cloud是声明以SolrCloud集群模式运行Solr,可以简写为-c
-z后面是ZooKeeper的其中一个入口,这里用c1
-p后面是Solr的Web管理平台的访问端口
-force是因为Solr不允许使用root用户进行操作,如果当前使用的是其它账户,可不加-force
* 关闭的命令是:
solr stop
8.测试
(1) 查看Web管理平台
在浏览器打开
http://192.168.100.105:8983
(2) 创建collection
创建一个collection,名字为clotho,分片6个,副本3个
solr create_collection -c clotho -shards 6 -replicationFactor 3 -force