solrcoloud

这里写图片描述#solrcloud 与多实例部署

1.参照之前的文章搭建出单个solr环境

  • 可以在windows下搭建一个独立的solr环境。直接将tomcat压缩通过ftp工具上传到linux环境中。修改webapps下solr的web.xml的solr_home配置,可以直接linux系统上完成solr启动。通过之前的文章搭建solr。会对solr有一个大概的印象,方便以后的环境维护。
  • 本文将配置好solr的tomcat拷贝到/opt/ase/下,重命名为aslortomcat 将原来tomcat根目录下的solr文件移动到/data/ase/目录下,并重命名为asolr。 即solr_home=/data/ase/asolrdata,目录在本人的系统中作为日志及数据存放目录,空间比较大。

2.zookeeper集群

Solrcloud环境部署,需要使用zookeeper做集群。所以我们先进行zookeeper的集群配置,以下操作都是在linux环境下的操作。下面做一个zookeeper伪集群搭建

  • 下载zookeeper-3.4.6.tar.gz。 解压到/opt/ase/zookeeper
  • 解压包,并且将解压出的zookeeper文件包重新命名为azookeeper。
  • 同级目录下创建出1zoo,在1zoo 下面创建出 data ,log 文件夹,在data文件夹下创建出文件myid,内容为1,内容的作用是一个zookeeper在集群中的标志。这边先不要管为什么,先将文件与文件夹创建出来,下面步骤就会了解为何这么创建目录及文件。
  • 拷贝azookeeper,同级目录下复制出bzookeeper,czookeeper, 拷贝1zoo,同级别目录下复制出2zoo,3zoo. 修改2zoo的myid内容为2,3zoo的myid内容为3。
  • 这样在zookeeper 文件目录下存在6个文件。分别为1zoo,2zoo,3zoo 与 azookeeper,bzookeeper,czookeeper
    分别修改azookeeper,bzookeeper,czookeeper 下的 /conf/zoo.cfg 文件
    内容如下: (注:172.172.177.47 是本机服务器的地址)

azookeeper

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/opt/ase/zookeeper/1zoo/data
    clientPort=2181
    server.1=172.172.177.47:2888:3888
    server.2=172.172.177.47:2988:3988
    server.3=172.172.177.47:2088:3088
    dataLogDir=/opt/ase/zookeeper/1zoo/log

bzookeeper

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/opt/ase/zookeeper/2zoo/data
    clientPort=2281
    server.1=172.172.177.47:2888:3888
    server.2=172.172.177.47:2988:3988
    server.3=172.172.177.47:2088:3088
    dataLogDir=/opt/ase/zookeeper/2zoo/log

czookeeper

    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/opt/ase/zookeeper/3zoo/data
    clientPort=2381
    server.1=172.172.177.47:2888:3888
    server.2=172.172.177.47:2988:3988
    server.3=172.172.177.47:2088:3088
    dataLogDir=/opt/ase/zookeeper/3zoo/log
  • 上面的clientPort 是zookeeper 的端口号, dataDir是后面zookeeper统一管理文件的目录地址。里面的myid等于zookeeper在集群中的位置
  • 依次启动3个zookeeper,就可以完成zookeeper搭建
  • zookeeper启动命令: ./azookeeper/bin/zkServer.sh start
  • zookeeper停止命令 ./azookeeper/bin/zkServer.sh stop
  • zookeeper查看状态 ./azookeeper/bin/zkServer.sh status 可以看到一个leader,两个follower。
  • zookeeper 集群是推选机制,所以官方建议搭建是奇数个。个人理解是举手表决,偶数个容易出现相等的情况,导致此次推举主失败
  • zookeeper 日志文件非常有必要优化,参见【博客】(http://www.tuicool.com/articles/MbUb63n

3.SolrCloud配置与多实例配置

  • solrcloud配置是将solr服务器与zookeeper集群关联起来,让solr集群的信息由zookeeper来管理。实现solr服务器效率运作。配置步骤如下:
  • 1.修改asolrtomcat/bin/catalina.sh 在文件中加入如下jvm参数:
    export JAVA_OPTS=”$JAVA_OPTS -DnumShards=1 -DzkHost=172.172.177.47:2181,172.172.177.47:2281,172.172.177.47:2381 -Djetty.port=8081” 这边端口号保持和asolrtomcat端口保持一致。

  • 2.参数说明:
    jetty.port属性会最后被作为solr对外提供的对外服务接口,配置为和相应的tomcat实例一样的访问端口号即可。
    numShards:默认为1. 集群中shard的个数,shard才是真正分布式搜索的服务,否则该集群中启动多少台服务器,都是replica, replica只是在该shard挂掉后才起作用。
    -DzkHost:配置zookeeper集群地址

  • 3.修改solr_home中solr.xml.本人配置内容示例如下:这边本人配置了3个core,shard=”shard1” 表示都配置在第一个分片下。
    示例中本人只搭建了一个asolrtomcat,如果有bsolrtomcat…需要修改shard=”shard1” 同事修改tomcat的catalina.sh的分片个数

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <solr persistent="false">
        <cores adminPath="/admin/cores" hostPort="8180"   hostContext="${hostContext:solr}">
            <core default="true" instanceDir="product" name="product" shard="shard1"  collection="product" />
            <core default="true" instanceDir="ams" name="ams" shard="shard1"  collection="ams" />
            <core default="true" instanceDir="comment" name="comment" shard="shard1"  collection="comment" />
        </cores>
    </solr>
    
  • 4.现在问题出现了。我们修改了asolrtomcat的catalina.sh,使asolrtomcat关联上了zookeeper的集群,但是,我这边并没有想其他文章一样在catalina.sh中配置 -Dsolr.solr.home,-Dbootstrap_confdir,-Dcollection.configName.那么我们怎么样将solr_home中的配置文件交给zookeeper集群统一管理呢? solr提供了一个工具,可以将solr_home中的配置文件直接传给zookeeper。步骤如下:
  • 1)本人使用的是solr-4.10.3.zip,将该包上传至linux服务器,unzip solr-4.10.3.zip ==> cd /opt/ase/solr-4.10.3/example ==> java -jar start.jar ==> 打开新的操作窗口,cd /opt/ase/solr-4.10.3/example/scripts/cloud-scripts ==> 执行脚本 ./zkcli.sh -zkhost 172.172.177.47:2181,172.172.177.47:2281,172.172.177.47:2381 -cmd bootstrap -solrhome /data/ase/asolr
  • 2)看清楚上面的最后执行脚本,该脚本作用就是将本人solr_home上传至zookeeper集群。 根据实际情况修改脚本中的地址及路径。

4.总结及其他注意点

  • 至此我们的SolrCloud环境已经搭建好,而且实现了多个solr实例,根据实际情况,复制上面步骤可以方便的扩展solrtomcat容器。提高SolrCloud威力
  • 注意点就是,1.修改solrtomcat 的catalina.sh。 2.修改solr_homed的solr.xml文件,注意分片的个数以及solr_home所在的分片。
  • zookeeper如果不仅仅只修改zoo.cfg文件。也需要对zookeeper的日志做调整,不然会在zookeeper同级目录下生成zookeeper.out日志文件,并且无线写入,最终撑爆内存。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值