• solr集群环境搭建


    Solr集群环境搭建

     集群所需安装包

    1. 在本地电脑的将以下安装包上传到共享目录中。

     solr-4.10.3.tgz.tgz和apache-tomcat-7.0.47.tar.gz 、jdk、zookeeper

    1). 将共享目录下的zookeeper-3.4.6.tar.gz上传到        /usr/local/taotao_shop/solr_cloud

    2). solr-4.10.3.tgz.tgz和apache-tomcat-7.0.47.tar.gz就不用了,直接使用上次我们搭建sorl单机版的tomcat就可以(上篇随笔)。

    拷贝如下:

     

    2. 首先搭建zookeeper集群

    1). 将zookeeper压缩包解压,并将解压后的文件夹更名为zookeeper01,然后将zookeeper01该复制为两份,分为zookeeper02、zookeeper03

     

    2). 在每个zookeeper目录下创建一个data目录

     

    3). 并每个zookeeper在data目录下创建一个myid文件,文件名就叫做“myid”。内容就是每个实例的id。例如1、2、3

     

     

    4). 修改每个zookeeper配置文件。把conf目录下的zoo_sample.cfg文件改名为zoo.cfg。

     

    5). 并修改zoo.cfg文件内容。修改内容如下

    (1). 修改每个zoo.cfg下面的dataDir,该值指向每个zookeeper的data目录

    (2). 修改每个zoo.cfg下面的clientPort。注意端口不能重复,端口修改为 zookeeper01对应2182、zookeeper02对应2183、zookeeper03对应2184

    (3). 在每个zookeeper的conf目录下的zoo.cfg末尾添加如下内容

    server.1=192.168.25.128:2881:3881

    server.2=192.168.25.128:2882:3882

    server.3=192.168.25.128:2883:3883

    解释:server.1、server.2、server.3分别代表zookeeper的集群列表,1、2、3分别表示zookeeperj节点的id。而ip(192.168.25.128)后面的端口表示zookeeper集群节点之间的通信端口,千万不要和上面我们修改的clientPort端口重复。然后最后的一个端口是zookeeper的选举端口,也不能重复。

    操作如下:

    修改zookeeper01/conf/zoo.conf

     

     

    修改zookeeper02/conf/zoo.conf

     

     

    修改zookeeper03/conf/zoo.conf

     

     

    6). 启动每个zookeeper。可以执行每个zookeeper的bin目录下的zkServer.sh start。不过单独启动貌似有问题。这里我们编写一个批      处理文件来一次开启所有的zookeeper。

    在/usr/local/taotao_shop/solr_cloud下创建zookeeper_all.sh,并将以下内容写入文件

    cd /usr/local/taotao_shop/solr_cloud/zookeeper01/bin

    ./zkServer.sh start

    cd /usr/local/taotao_shop/solr_cloud/zookeeper02/bin

    ./zkServer.sh start

    cd /usr/local/taotao_shop/solr_cloud/zookeeper03/bin

    ./zkServer.sh start

    修改zookeeper_all.sh的执行权限

     

    可以在每个zookeeper的bin目录下使用./zkServer.sh status查看状态

    开启zookeeper集群如下:

     

    这里我们也可以创建一个zookeeper_stop.sh的批处理文件来关闭所有zookeeper。

    cd /usr/local/taotao_shop/solr_cloud/zookeeper01/bin

    ./zkServer.sh stop

    cd /usr/local/taotao_shop/solr_cloud/zookeeper02/bin

    ./zkServer.sh stop

    cd /usr/local/taotao_shop/solr_cloud/zookeeper03/bin

    ./zkServer.sh stop

     

    3. 搭建Solr集群

    Solr的运行需要tomcat环境,所以我们直接将单机版的solr运行环境拷贝至集群环境        中即可,而且单机版的tomcat已经拷贝了solr.war。我们只需要修改一些配置文件就可    以了。单机版的solr参见《06.Solr单机安装并设置开机启动.docx》

    1). 创建四个tomcat实例。

    (1) 将/usr/local/taotao_shop/solr下面的tomcat_solr拷贝到/usr/local/taotao_shop/solr_cloud下面。

     

    (2) 将/usr/local/taotao_shop/solr_cloud下面的tomcat_solr更名为tomcat8180。并将tomcat8180拷贝三份分别为tomcat8280、tomcat8380、tomcat8480

     

    (3) 修改四个tomcat的端口。每个端口号和tomcat的文件名中数字对应。修改如下

    修改tomcat8180的conf目录下的server.xml

     

     

    tomcat8280的conf目录下的server.xml

    修改的端口就是:8205   8280    8209

    tomcat8380的conf目录下的server.xml

    修改的端口就是:8305   8380    8309

    tomcat8480的conf目录下的server.xml

    修改的端口就是:8405   8480    8409

    2). 为每个tomcat下的solr关联solrhome。将solr安装目录下/example/solr的所有文件     拷贝到的集群目录。更名为solrhome8180

     

    3). 将solrhome8180拷贝三份。分别为solrhome8280、solrhome8380、solrhome8480

     

    4). 修改每个tomcat的webapps/solr/WEB-INF下面的web.xml配置。关联solr和         solrhome。

    (1) 修改tomcat8180下关联solrhome8180

     

    (2) 修改tomcat8280下关联solrhome8280

     

     

    (3) 修改tomcat8380和tomcat8480关联solrhome同理。

    5). 配置solrCloud相关的配置。修改每一个solrhome下面solr.xml配置文件,将ip地       址和对应的tomcat端口进行配置

    (1) 修改solrhome8180的solr.xml配置

     

     

    (2) 修改solrhome8280的solr.xml配置

     

     

    (3) 对于修改solrhome8380和solrhome8480参照上面。

    4. zookeeper统一管理solr

    现在zookeeper集群和solr集群已经搭建完成,那么如何搭建solrcloud环境呢,那么        就需要让zookeeper来管理solr的配置文件。

    1). 使用solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh这个上传工具将集群下任一        solrhome的collection1/conf上传到zookeeper集群

    使用以上工具进行上传,输入如下命令即可(如果报错,可以尝试多执行几次)。

    注意:./zkcli.sh命令之前要开启zookeeper集群。也就是先执行之前编写的批处理                 zookeeper_all.sh

    ./zkcli.sh -zkhost 192.168.25.128:2182,192.168.25.128:2183,192.168.25.128:2184 -cmd upconfig -confdir /usr/local/taotao_shop/solr_cloud/solrhome8180/collection1/conf  -confname myconf

     

    2). 查看zookeeper配置文件,确定zookeeper是否管理solr了。

    进入zookeeper0*任意目录,这里我们进入zookeeper01的bin目录。使用bin目录下面  的zkCli.sh来查看zookeeper集群所管理的配置。

    在bin目录下执行:./zkCli.sh -server 192.168.25.128:2182

     

    5. tomcat运行时关联solrzookeeper

    修改每个tomcat(修改tomcat8180、tomcat8280、tomcat8380、tomcat8480)的bin目录 下的catalina.sh 文件,加入以下内容:

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

     

     

    注意JAVA_OPTS的位置,不要放最后哟

     

    6. 启动所有的tomcat

    (1) 启动tomcat8180、tomcat8280、tomcat8380、tomcat8480。这里我们编写批处理    文件来启动。创建tomcat_all.sh,内容如下:

    cd /usr/local/taotao_shop/solr_cloud/tomcat8180/bin

    ./startup.sh

    cd /usr/local/taotao_shop/solr_cloud/tomcat8280/bin

    ./startup.sh

    cd /usr/local/taotao_shop/solr_cloud/tomcat8380/bin

    ./startup.sh

    cd /usr/local/taotao_shop/solr_cloud/tomcat8480/bin

    ./startup.sh

     

    (2) 修改文件的执行权限

     

     

    (3) 编写关闭所有tomcat的批处理文件。创建tomcat_shop.sh。内容如下:

    cd /usr/local/taotao_shop/solr_cloud/tomcat8180/bin

    ./shutdown.sh

    cd /usr/local/taotao_shop/solr_cloud/tomcat8280/bin

    ./shutdown.sh

    cd /usr/local/taotao_shop/solr_cloud/tomcat8380/bin

    ./shutdown.sh

    cd /usr/local/taotao_shop/solr_cloud/tomcat8480/bin

    ./shutdown.sh

     

    (4) 修改关闭批处理文件的执行权限

     

    7. 测试。

    (1) 执行批处理文件启动所有tomcat

     

     

    (2) 在本地浏览器访问http://192.168.25.128:8180/solr

     

    (3) 创建新的Collection进行分片处理

    http://192.168.25.128:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

     

    (4) 删除不用的collection

    http://192.168.25.128:8180/solr/admin/collections?action=DELETE&name=collection1

     

     

  • 相关阅读:
    入门级: WinForm 下的 ComboBox,ListBox 的使用 (一)
    C#:谨慎 DateTime.Now 带来的危险
    HTML5 小游戏审核通过,请各位有兴趣的朋友帮忙投票!谢谢。
    基于fpga的单线激光雷达数据处理
    左右法则-复杂指针解析
    智能指针(auto_ptr和shared_ptr) 转
    iphone游戏引擎
    C++对象和内存
    让你的代码变的更加强大
    Class Loader
  • 原文地址:https://www.cnblogs.com/lucia557/p/7601562.html
Copyright © 2020-2023  润新知