在zookeeper集群的基础上,搭建solrCloud

时间:2023-02-08 20:10:22

1 将在window中部署的单机版solr上传到node-01中

在zookeeper集群的基础上,搭建solrCloud

cd /export/software/
rz 

 选择资料中的solr.zip进行上传(此zip就是  solr的简单部署:在tomcat中启动slor 的内容,  包含solr-home和tomcat)

2 将zip进行解压到指定目录中

由于是zip文件,在linux上解压需要unzip

yum -y install unzip
unzip solr.zip 
mv solr /export/servers/

3 修改tomcat的Catalina.sh的配置文件

cd /export/servers/solr/apache-tomcat-7.0.77/bin
vi catalina.sh             //注意此时修改的.sh的文件 为非.bat

//添加如下内容:(此处后面还会进行修改, 目前只是为了测试单机版本能否在linux中运行)
export "JAVA_OPTS=-Dsolr.solr.home=/export/servers/solr/solr-home"

4 启动tomcat测试单机版本能否在linux中运行

//注意: 由于是解压的是zip文件, tomcat中的.sh文件都没有任何的执行缺陷, 需要进行赋权限:
chmod 777 /export/servers/solr/apache-tomcat-7.0.77/bin/*

//启动tomcat:
cd /export/servers/solr/apache-tomcat-7.0.77/bin/ ./startup.sh 

访问 192.168.44.28:8080/solr 看是否成功  192.168.44.28是你当前虚拟机的ip

 

5 成功后: 将tomcat务必先关闭

./shutdown.sh

 

6 将solr的配置文件交给zookeeper进行管理

//1. 需要先上传solr的安装包
cd /export/software/
rz
//2. 解压solr的安装包
unzip solr-4.10.2.zip 
//3. 将solr安装包复制到/export/servers下
mv solr-4.10.2 /export/servers/
//4. 开始执行上传
cd /export/servers/solr-4.10.2/example/scripts/cloud-scripts/
//注意: 以下命令是一行  而且要确保三台机器的zookeeper是开启的 zookeeper集群的搭建
./zkcli.sh -zkhost node-01:2181,node-02:2181,node-03:2181 -cmd upconfig -confdir /export/servers/solr/solr-home/collection1/conf/ -confname solrconf

  //参数解释: -zkhost指定zookeeper地址列表, -cmd指定命令, upconfig上传配置的命令, -confdir配置文件所在目录, -confname配置名称

在zookeeper集群的基础上,搭建solrCloud

7 修改solr.xml配置文件

solr.xml是solr集群管理文件

cd /export/servers/solr/solr-home/
vi solr.xml

在zookeeper集群的基础上,搭建solrCloud

8 修改tomcat的Catalina.sh配置文件

其实可以单独修改每个solr的solrhome地址(修改每个solr的 web.xml 文件, 关联它自己的solrhome),然后在这里直接配置-DzHost就可以了,这里就先不做介绍了。

cd /export/servers/solr/apache-tomcat-7.0.77/bin/
vi catalina.sh 
// 修改如下内容
export "JAVA_OPTS=-Dsolr.solr.home=/export/servers/solr/solr-home   //原来的内容

//以下为替换后的内容  注意: 这是一行内容, 复制时一起复制即可
export "JAVA_OPTS=-Dsolr.solr.home=/export/servers/solr/solr-home -DzkHost=node-01:2181,node-02:2181,node-03:2181

9 将solr目录发送到其他两台linux上(node2,node3)

cd /export/servers/
scp -r solr root@node-02:$PWD
scp -r solr root@node-03:$PWD

在zookeeper集群的基础上,搭建solrCloud

10 依次启动三台solr即可

cd /export/servers/solr/apache-tomcat-7.0.77/bin/
./startup.sh

在zookeeper集群的基础上,搭建solrCloud

 

------------------------------以上 基本搭建就完成了  下面介绍solrCloud相关的管理命令-------------------------------

 

1 创建新集群(创建一个索引库)

http://192.168.44.28:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=3&maxShardsPerNode=8&property.schema=schema.xml&property.config=solrconfig.xml


//接口参数说明:

action: 表示执行的操作 CREATE 创建
name: 新集群的名称
numShards: 分片数
replicationFactor: 每个分片的节点数
maxShardsPerNode: 设置每个分片的最大节点数, 默认为1
property.schema: 指定使用的schema文件   (注意, 此文件必须在zookeeper上存在)
property.config: 指定使用的solrConfig文件 (注意, 此文件必须在zookeeper上存在)

2 删除core命令

http://192.168.44.28:8080/solr/admin/collections?action=DELETE&name=collection1

3 查询所有的Core

http://192.168.44.28:8080/solr/admin/collections?action=LIST

4 分裂shard(扩展容量)

分裂: 就是将某个分片分成两个分片

注意: 一旦分裂后, 虽然原来的分片还可以提供服务, 但是已经不再保存数据, 会将数据保存到新的分裂后的分片

http://192.168.44.28:8080/solr/admin/collections?action=SPLITSHARD&collection=collection2&shard=shard1

参数说明:
shard: 指定要分裂的分片

5 删除某个分片

注意: 删除的分片必须是已经被分裂的, 或者是已经无法提供服务的

http://192.168.44.28:8080/solr/admin/collections?action=DELETESHARD&shard=shard1&collection=collection2

 

在zookeeper集群的基础上,搭建solrCloud

 

使用java代码对zookeeper集群中的solrCloud数据进行CURD