1、复制4个Tomcat到solr-cloud目录下

[root@localhost software]# cp -r apache-tomcat-9.0.24 /usr/local/solr-cloud/tomcat01
[root@localhost software]# cp -r apache-tomcat-9.0.24 /usr/local/solr-cloud/tomcat02
[root@localhost software]# cp -r apache-tomcat-9.0.24 /usr/local/solr-cloud/tomcat03
[root@localhost software]# cp -r apache-tomcat-9.0.24 /usr/local/solr-cloud/tomcat04

  

2、向4个Tomcat容器中部署4个solr实例

  之前的单机版已经配置好了,直接复制使用即可。

cp -r /usr/local/solr-tomcat/apache-tomcat-9.0.21/webapps/solr/ /usr/local/solr-cloud/tomcat01/webapps
cp -r /usr/local/solr-tomcat/apache-tomcat-9.0.21/webapps/solr/ /usr/local/solr-cloud/tomcat02/webapps
cp -r /usr/local/solr-tomcat/apache-tomcat-9.0.21/webapps/solr/ /usr/local/solr-cloud/tomcat03/webapps
cp -r /usr/local/solr-tomcat/apache-tomcat-9.0.21/webapps/solr/ /usr/local/solr-cloud/tomcat04/webapps

3、编辑Tomcat的server.xml文件

  进入tomcat容器的conf目录,打开server.xml文件进行编辑

  tomcat01:

  

  

  

  tomcat02:

  

  

  

  tomcat03:

  

  

  

  tomcat04:

  

  

  

4、将单机版的solrhome复制到solr-cloud目录中

cp -r /usr/local/solr-7.7.2/solr_home /usr/local/solr-cloud/solrhome01
cp -r /usr/local/solr-7.7.2/solr_home /usr/local/solr-cloud/solrhome02
cp -r /usr/local/solr-7.7.2/solr_home /usr/local/solr-cloud/solrhome03
cp -r /usr/local/solr-7.7.2/solr_home /usr/local/solr-cloud/solrhome04

  

5、修改solrhome路径

  修改各个tomcat的solr下面的web.xml

  

  

  

  

6、修改solrhome的solr.xml中的ip和端口号

  host:IP地址

  hosrPort:tomcat端口号

  solrhome01:

  

  solrhome02:

  

  solrhome03:

  

  solrhome04:

  

7、修改各个tomcat的catalina.sh文件,建立solr和zookeeper之间的关系

  进入该文件,找到JAVA_OPTS,加入以下内容(若没有注释,将之前的注释掉):分别复制到tomcat01、tomcat02、tomcat03、tomcat04、 

JAVA_OPTS="-DzkHost=192.168.83.102:2182,192.168.83.102:2183,192.168.83.102:2184"

  

8、使用zookeeper统一管理配置文件。需要把solrhome/collection1/conf目录上传到zookeeper。上传任意solrhome中的配置文件即可。

  使用工具上传配置文件:/usr/local/solr-7.7.2/server/scripts/cloud-scripts/zkcli.sh(路径可能由于版本问题导致不同)

  

  将/usr/local/solr-cloud/solrhome01/collection1/conf目录上传至zookeeper,命名为myconf

  执行如下命令:

./zkcli.sh -zkhost 192.168.83.102:2182,192.168.83.102:2183,192.168.83.102:2184 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf

  

  注意:

  上传完成后,删除solrhome01,solrhome03,solrhome03,solrhome04目录下的collection1,否则在所有配置完成结束后,启动solr时,会报错

  

  查看tomcat日志,会显示找不到collection1,这是因为zookeeper统一管理了配置文件,这个配置文件是来自我们之前复制的collection1里面。删除即可。

9、验证是否上传成功

  查看zookeeper上的配置文件:

  使用zookeeper目录下的bin/zkCli.sh命令查看zookeeper上的配置文件:

  进入/usr/local/solr-cloud/zookeeper01/bin

[root@localhost bin]# ./zkCli.sh 

  退出:

[zk: localhost:2181(CONNECTED) 1] quit

  指定端口号连接

[root@localhost bin]# ./zkCli.sh -server 192.168.83.102:2182

  

[zk: 192.168.83.102:2182(CONNECTED) 0] ls /

  

[zk: 192.168.83.102:2182(CONNECTED) 1] ls /configs

  

[zk: 192.168.83.102:2182(CONNECTED) 2] ls /configs/myconf

  

  退出

[zk: 192.168.83.102:2182(CONNECTED) 3] quit

  

10、启动4个tomcat

  在solr-home目录下创建启动tomcat的脚本start-tomcat-all.sh

/usr/local/solr-cloud/tomcat01/bin/startup.sh
/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

  修改脚本执行权限

[root@localhost solr-cloud]# chmod u+x start-tomcat-all.sh 
[root@localhost solr-cloud]# ./start-tomcat-all.sh 

  

11、查看启动日志,判断tomcat是否启动成功

[root@localhost ~]# tail -f /usr/local/solr-cloud/tomcat01/logs/catalina.out
[root@localhost ~]# tail -f /usr/local/solr-cloud/tomcat02/logs/catalina.out
[root@localhost ~]# tail -f /usr/local/solr-cloud/tomcat03/logs/catalina.out
[root@localhost ~]# tail -f /usr/local/solr-cloud/tomcat04/logs/catalina.out

12、创建新的Collection进行分片处理

  一主一副:

  

  

参考:https://blog.csdn.net/gdsgdh308227363/article/details/81004706

https://blog.csdn.net/qq_15204179/article/details/81939492

https://blog.csdn.net/qq_37936542/article/details/83113083

https://blog.csdn.net/yougoule/article/details/78445759 

https://blog.csdn.net/qq_39572257/article/details/90399553?utm_source=app

https://blog.csdn.net/oumuv/article/details/84585203?utm_source=app  

  

  

  

  

Centos7搭建solr集群的更多相关文章

  1. 搭建Solr集群的推荐方案

    之前介绍过2篇SolrCloud的部署流程,第一个是使用安装脚本的方式进行抽取安装,启动比较方便,但是会创建多个目录,感觉比较乱:第二个是官方教程上提供的方法,使用比较简单,直接释放压缩包即可,并且启 ...

  2. centos7搭建kafka集群-第二篇

    好了,本篇开始部署kafka集群 Zookeeper集群搭建 注:Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群(也可以用kafka自带的ZK,但不推荐) 1.软 ...

  3. centos7搭建kafka集群

    一.安装jdk 1.下载jdk压缩包并移动到/usr/local目录 mv jdk-8u162-linux-x64.tar.gz /usr/local 2.解压 tar -zxvf jdk-8u162 ...

  4. 【转】centos7 搭建etcd集群

    转自http://www.cnblogs.com/zhenyuyaodidiao/p/6237019.html 一.简介 “A highly-available key value store for ...

  5. 初学Hadoop:利用VMWare+CentOS7搭建Hadoop集群

     一.前言 开始学习数据处理相关的知识了,第一步是搭建一个Hadoop集群.搭建一个分布式集群需要多台电脑,在此我选择采用VMWare+CentOS7搭建一个三台虚拟机组成的Hadoop集群. 注:1 ...

  6. Centos7搭建zookeeper集群

    centos7与之前的版本都不一样,修改主机名在/ect/hostname 和/ect/hosts 这两个文件控制 首先修改/ect/hostname vi /ect/hostname 打开之后的内容 ...

  7. CentOS7 搭建RabbitMQ集群 后台管理 历史消费记录查看

    简介 通过 Erlang 的分布式特性(通过 magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服务为对等节点,即每个节点都提供服务给客户端连接,进行消息发送与接 ...

  8. CentOS7 搭建 Consul 集群

    环境准备: ssh shell工具: 远程连接 三个CentOS示例: 部署集群 配置好各个实例之间的网络访问,以及ssh免密登录. 下载&上传: 1.下载 Consul: Download ...

  9. centos7搭建dolphinscheduler集群

    一.简述 Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用.有 ...

随机推荐

  1. consul ocelot

    consul配置完成后 新建.netcoreapi项目, nuget安装ocelot 添加多个配置文件,.netcore中会自动合并为一个文件,global配置总的配置,其他为各个项目的配置 Serv ...

  2. python之scrapy模块pipelines

    1.知识点 """" pipelines使用: 1.在spiders里面使用yield生成器 list_li = response.xpath("// ...

  3. smarty 第一条数据判断

    <div class="shangpin_rightdiv2"> <p>颜色</p> <ul id="toggle"& ...

  4. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息

    笔记 8.用户模块开发之保存微信用户信息     简介:开发User数据访问层,保存微信用户信息 问题:             微信回调 用户昵称乱码             解决:        ...

  5. Qt编写自定义控件17-按钮进度条

    前言 按钮进度条,顾名思义,表面上长得像一个按钮,单击以后切换成进度条指示按钮单击动作执行的进度,主要用在一些需要直接在按钮执行动作显示对应进度的场景,在很多网页中经常看到这种效果,这个效果有个优点就 ...

  6. 如何快速通过json构建javabean对象(Intellij IDEA-->GsonFormat使用教程)

    和第三方对接的时候,返回给我们的json时参数字段多是很常见的现象,所以我们手动去创建javabean肯定是要花费不少时间,博主在网上找到了很多种,可用通过json自动生成javabean的工具,这里 ...

  7. 你应该知道的 MySQL 的锁

    背景 数据库的锁是在多线程高并发的情况下用来保证数据稳定性和一致性的一种机制.MySQL 根据底层存储引擎的不同,锁的支持粒度和实现机制也不同.MyISAM 只支持表锁,InnoDB 支持行锁和表锁. ...

  8. AP注册

    1.ac发现ap 两种模式:二层发现.三层发现 按ap与ac所处ip网段不同,可以把注册过程分为二层模式和三层模式: 两种模式均通过发送discovery报文进行,二层模式discovery报文仅在同 ...

  9. 【JavaScript】初识js

    前端三大利器就是HTML+CSS+JavaScript,他们在整个前端开发中的主要作用大体可以概括如下 html 标记语言 负责页面的结构 css 层叠样式表 负责页面的样式 javascript 编 ...

  10. [转帖]公钥基础设施(PKI)/CFSSL证书生成工具的使用

    公钥基础设施(PKI)/CFSSL证书生成工具的使用 weilovepan520关注1人评论84344人阅读2018-05-26 12:22:20 https://blog.51cto.com/liu ...