zoukankan      html  css  js  c++  java
  • Centos7搭建solr集群

    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  

      

      

      

      

  • 相关阅读:
    c#时间函数
    .NET中的lock(C#版本)
    关于OpenSmtp邮件标题过长,附件名,用户名出现乱码问题的终及解决Dll文件
    Windbg 用法
    使用OpenXML将数据导入到Excel模板中
    Compiere源码workspace的两个配置文件内容
    我学MEF系列(8):MEF+Unity实现可扩展拦截器
    基于插件架构的简单的Winform框架(上)
    我学Flash/Flex(2):AS3读取XML文件内容
    我学Flash/Flex(1):Action Script3.0基础知识
  • 原文地址:https://www.cnblogs.com/116970u/p/11401834.html
Copyright © 2011-2022 走看看