实战: SOLR的分布式部署(复制)CollectionDistribute 快照分发 (一)

网上有很多SOLR的文章,但是大多都是翻译自SOLR的官方WIKI,尤其是对分布式说的较含糊,在部署过程中,出现很多问题,令人摸不着头脑,下面就有些我遇到的情况及解决方案作下描述,希望对大家有用。

      SOLR复制模式下分布式应用的基本原理:

     SOLR主要通过SHELL脚本与SOLR的相互协调完成快照在主服务器与辅服务器下的同步完成,该脚本位于:SOLR的安装目录: Solr\apps\src\scripts。

     首先先讲下参与分发的各个模块的组成:

  • snapshooter(MASTER) 快照触发生成脚本

    由 主服务器负责被动生成,触发机制为:SOLR的RunExecutableListener(配置通过conf下的solrconfig.xml,然后查 找“postCommit”)监听到客户端COMMIT事件,则调用外部命令:snapshooter(默认配置会有问题),在制定目录生成快照文件(一 组索引数据)

  • rsyncd-start,disable,enable (master)RSYNC同步脚本

     由主服务器通过初始化人工手动执行,开启RSYNC服务。

  •  

    snappuller and snapinstaller   (salve) 快照获取和安装模块

     由辅服务器通过系统CRON定时执行,官方默认每5分钟执行一次。在此过程中,snappuller通过RSYNC命令将主服务器生成的快照拉回本地机 器,并且通过snapinstaller将快照安装至主索引,并同时通知SOLR初始化IndexReader,至此快照同步至辅服务器完毕。

 

  • snapcleaner   (master+slave) 快照清理脚本

     后期维护工作通过快照清理脚本完成,主服务器与辅服务器各自安装,通过系统CRON定时执行,官方默认每7天清理一次。

posted @ 2010-03-09 10:11  searchDM  阅读(812)  评论(0编辑  收藏  举报