Solr(二)solr集群搭建(伪集群)

环境要求

  • jdk1.8
  • tomcat8
  • solr7
  • zookeeper3
  • linux or mac

步骤

一、准备环境

jdk8安装:参考 Linux安装jdk8并配置环境变量

搭建Zookeeper集群:Zookeeper集群搭建(伪集群)

三个zookeeper的配置如下:

zookeeper1zookeeper2zookeeper3
地址127.0.0.1127.0.0.1
端口21812182

tomcat集成Solr:参考Solr(一)基于tomcat的solr环境搭建

二、上面的步骤全部完成后开始搭建solr集群:

前提&约定

这里提前规划好,假设我们搭建solr集群有4台机器如下:

solr1solr2solr3solr4
tomcattomcat1tomcat2tomcat3
端口808180828083

使用zookeeper作为同步组件,地址、端口等配置见上一步

  • 1、假设已经搭建好了一个基于tomcat的solr服务器的tomcat1,内部结构如下图,现在就对这个tomcat1进行相关配置的修改:

    • 1⃣️、修改tomcat1的conf/server.xml,三个端口需要修改,具体位置如下:


    • 2⃣️、修改tomcat1的bin/catalina.sh,加入zookeeper集群配置(zookeeper的地址和端口)

        JAVA_OPTS="-DzkHost=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
      
    • 3⃣️、修改tomcat1中solrHome/solr.xml,配置对应tomcat的IP与端口

    • 4⃣️、修改tomcat1中webapps/solr/WEB-INF/web.xml,配置对应的solrHome位置

  • 2、配置其他的三个solr服务器,以tomcat1为模板复制出tomcat2、tomcat3、tomcat4

    • 1⃣️、复制出三个tomcat

      cp -r tomcat1 tomcat2
      cp -r tomcat1 tomcat3
      cp -r tomcat1 tomcat4
      
    • 2⃣️、根据上一步对conf/server.xml、bin/catalina.sh、solrHome/solr.xml、webapps/solr/WEB-INF/web.xml进行修改,修改后的tomcat配置如下:

tomcat列tomcat1tomcat2tomcat3tomcat4
server.xml三个端口配置8105/8081/81098205/8082/82098305/8083/83098405/8084/8409
solr.xml的ip与端口配置(tomcat的访问地址)127.0.0.1:8081127.0.0.1:8082127.0.0.1:8083127.0.0.1:8084
web.xml的solrHome位置*/tomcat1/solrHome*/tomcat2/solrHome*/tomcat3/solrHome*/tomcat4/solrHome
  • 3⃣️、编写启动4个tomcat的脚本和停止4个tomcat的脚本

    启动脚本tomcat-startup.sh

        cd /Users/oumuv/solr/tomcat1
        bin/startup.sh
        cd /Users/oumuv/solr/tomcat2
        bin/startup.sh
        cd /Users/oumuv/solr/tomcat3
        bin/startup.sh
        cd /Users/oumuv/solr/tomcat4
        bin/startup.sh
    

    停止脚本tomcat-shutdown.sh

    	cd /Users/oumuv/solr/tomcat1
       bin/shutdown.sh
       cd /Users/oumuv/solr/tomcat2
       bin/shutdown.sh
       cd /Users/oumuv/solr/tomcat3
       bin/shutdown.sh
       cd /Users/oumuv/solr/tomcat4
       bin/shutdown.sh
    

    赋予执行权限

    	 chmod 755 tomcat-startup.sh
    	 chmod 755 tomcat-shutdown.sh
    
  • 3、使用zookeeper管理 solr core 配置
    到了这一步solr的集群搭建已经基本完成了,现在我们要使用zookeeper来管理solr的core(核心配置),是4个solr的core同步

    • 打开solr原始目录(solr安装包解压后的目录),找到 /server/scripts/cloud-scripts/zkcli.sh,使用这个脚本来上传core配置到zookeeper,命令如下:
    ./zkcli.sh -zkhost 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 -cmd upconfig -confdir /Users/oumuv/solr/tomcat1/solrHome/collectionA/conf -confname myconf
    

    解释一下这个脚本的意思:

    三台zookeeper的通信ip及端口: -zkhost 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183
    
    执行上传配置的命令: -cmd upconfig
    
    需要上传的配置所在目录: -confdir /Users/oumuv/solr/tomcat1/solrHome/collectionA/conf
    
    上传后的目录重命名为myconf: -confname myconf
    
    • 执行了上面的脚本后zookeeper集群中就会多出一个myconf的目录,这个目录就是我们上传的/Users/oumuv/solr/tomcat1/solrHome/collectionA/conf 目录,怎么检验呢?

      • 到其中一个zookeeper目录中执行 bin/zkCli.sh 命令
      • 再执行 ls /configs 命令查看是否存在刚刚上传的 myconf ,结果如下

三、启动、测试

看到如下页面(菜单中多了 cloud 一栏)

到此solr集群搭建完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值