设为首页 收藏本站
查看: 888|回复: 0

[经验分享] 实战: SOLR的分布式部署(复制模式 CollectionDistribute)部署流程详解 (二)

[复制链接]

尚未签到

发表于 2015-7-17 12:54:37 | 显示全部楼层 |阅读模式
  需求:

  • 实现SOLR主,辅服务器更新同步,每次客户端COMMIT请求都会及时应用在辅服务器上。
  • 实现MULTICORE,实际生产环境中往往会有多个搜索应用实例。

步骤:

一、    准备条件


  • 服务器准备
       准备两台服务器:


一台用作主服务器(192.168.0.36),负责分发索引


另一台负责辅服务器(192.168.0.46),负责承载搜索服务。


2.    软件环境

Linux版本不限,32,64位不限

应用容器:TOMCAT 6.0

JAVA版本:JDK1.6以上版本

Solr应用环境目录: /solr/video/ (可使用ln –s 创建软连接) 和 /solr/album/

(本例设定为两个应用:实际情况可自由增减   )

Solr索引目录:/solr/data/album 和 /solr/data/video

3. 划分应用

      本例中划分两个应用 专辑 album 和 视频 video

4.    基础目录创建(主,辅均需配置)

a)    在 /solr/ 应用环境目录下创建两个目录:album 和 video

b)   分别将SOLR安装目录下Solr/example/solr/conf文件夹至这两个目录

c)    分别复制安装目录solr/src/scripts文件夹至 album 和 video目录,并将script改名为bin(后续要用到)

d)   按照特定需求分别修改索引字段结构文件: schema.xml(有关此文件的配置不再撰述)

e)    复制 Solr/example/multicore 下的solr.xml文件至 应用环境根目录:/solr/

f)     创建索引目录 /solr/data/album 和 /solr/data/video


二、    配置MULTICORE(主,辅均需配置)

      划分业务类型,如做一个视频搜索引擎需要专辑和视频两大应用,则:


1)   配置SOLR业务类型:在 /solr/下 编辑solr.xml文件

               
                 







      • 修改为  



               



2)   指定索引目录,进入/solr/album/conf目录,打开编辑器修改solrconfig.xml,找到  节点,将真正的目录“/solr/data/album”替换掉原有数据。(视频应用步骤与此相同。)

            

三、    配置分布式应用(以下均在主服务器上配置)

1)   分别修改分布式分发脚本: scripts.conf

(/solr/album/bin 和 /solr/video/bin)

#触发外部命令所使用的用户

user=haiting

#本地机器名

solr_hostname=localhost

#本地SOLR开放的端口(及TOMCAT服务端口)

solr_port=9001

#分发脚本使用的RSYNC服务端口,业务端口要区分开,在本例中,album为19001,video为19002,客户端与服务端端口设置需一致,否则会导致SNAPPULLER过程失败。

rsyncd_port=19001

#索引文件路径

data_dir=/solr/data/album

#TOMCAT容器中SOLR服务名(默认不变)

webapp_name=solr

#主服务器IP(主与辅同配置)

master_host=192.168.0.46

#主服务器索引文件路径

master_data_dir=/solr/data/album

#主服务器状态过程日志存放目录

master_status_dir=/solr/status/album

2)      修改脚本所在默认路径

(通过修改scripts-util公用脚本实现)

l 找到该文件所在路径:/solr/album/bin和/solr/video/bin

l 第27行

confFile=${solr_root}/conf/scripts.conf

修改为:

confFile=/solr/bin/album/conf/scripts.conf


confFile=/solr/bin/video/conf/scripts.conf


注明:不进行此步骤会造成SOLR外部调用监听器执行会失败(/solr/   

3)     修改主配置文件solrconfig.xml

l 找到以下目录:/solr/album/conf和 /solr/video/conf

l  分别修改两个应用的  COMMIT监听器,使得SOLR接收到COMMIT请求时,自动调用外部命令snappuller

找到 postCommit 节点,配置后的节点如下所示:

     
        /solr/video/bin/snapshooter
        .
        true
         -d /solr/data/video
         MYVAR=val1
  
  
  注明:每一个应用对应的配置文件都需要配置,包括外部命令的目录.
  
  
  
  
  四、     配置、执行分发脚本
  1.       主服务器
  1)   启动SOLR
  2)   启用RSYNC
  手工执行脚本:
  /solr/video/bin/rsyncd-enable –v
  说明:-v终端打印执行详细日志
  3)   开启RSYNC
  /solr/video/bin/rsyncd-start –v
  
  
  2.       客户端
  推荐使用SolrJ(目录位于/solr/src/solrj)
  a)         将SOLR接收URL改为:http://192.168.0.36:9001/solr/video
   (或http://192.168.0.36:9001/solr/album )
  b)         执行发送命令,将数据推送至主服务器
  
  3.       辅服务器
  a)   配置清理脚本
  l su haiting
  l crontab –e
  l 0 0 * * * /solr/album/bin/snapcleaner -D 7
  l 0 0 * * * /solr/video/bin/snapcleaner -D 7
  l Wq!
  说明:系统每7天调用一次清理脚本,清理不用的快照
  b)   启用快照
  手动执行
  /solr/video/bin/snappuller-enable -v
  c)   获取并安装快照
  l 配置cron
  l su haiting
  l crontab –e
  l */5 * * * * /solr/video/bin/snappuller;/solr/video/bin/snapinstaller
  l */5 * * * * /solr/album/bin/snappuller;/solr/album/bin/snapinstaller
  l wq!
  
  说明:系统每五分钟调用一次smappuller和snapinstaller,及每五分钟生效一次。
  
  本文补充: 因SOLR的复制分发模式所需要的脚本没有考虑到 MULTICORE模块存在,所以在两种并行的情况下会造成快照安装失败,报  logMessage snapshot installed but Solr server has not open a new Searcher  错误。   具体修改方法: 在/solr/album/bin 和 /solr/video/bin 下修改commit文件,将第三页中的 curl_url=http://${solr_hostname}:${solr_port}/${webapp_name}/update  修改成  curl_url=http://${solr_hostname}:${solr_port}/${webapp_name}/album/update  保存即可。
转自http://blog.iyunv.com/thundersssss/archive/2009/12/29/5099232.aspx

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-87683-1-1.html 上篇帖子: Apache Solr查询语法(转) 下篇帖子: solr dataimport 数据导入源码分析(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表