Solr多机部署总结

本文详细介绍了如何在master和slave服务器上部署Solr版本1.4.1,包括SSH配置、目录创建、文件拷贝、核心配置和脚本设置等步骤。重点阐述了如何在部署完成后启动SOLR服务、配置RSYNC进行数据同步、设置清理脚本以定期清理数据,以及如何启用快照功能。同时,文章强调了在配置过程中需要注意的关键点,确保部署的稳定性和高效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Solr version 1.4.1,下载地址:http://apache.etoak.com//lucene/solr/,并将solr.war部署到tomcat的webapp中

我所部署的机器是master 172.16.100.182,slave 172.16.100.225

1. 首先配置ssh使得225可以无密码登陆182,182本身可以ssh到本身

2.在两台机器上/usr/local/home目录下新建你的目标,如news,你还可以兴建其他目标如soft,albumden等,并将solr文件解压后的Solr/example/multicore 下的solr.xml拷贝到该文件夹下

3.分别拷贝Solr1.4.1解压后的/example/solr/conf,solr/src/scripts, 到news下,并将scripts改名为bin,同时修改solr.xml文件如下
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="news" />
</cores>
4.进入news文件夹,修改solrconfig.xml,找到datadir,将其路径改为你设置的news的数据路径,我这里配置的是/usr/local/home/data/news

5.修改shcema.xml文件,使得其<field>和索引的field相匹配,注意fieldtype,这里的fieldtype是solr中的fieldtype类型,不再是lucene中的fieldtype类型

6.修改conf下的script.conf文件如下
user=root
solr_hostname=computer002
solr_port=8983
rsyncd_port=18983
data_dir=/usr/local/home/data/news
webapp_name=solr
master_host=172.16.100.182
master_data_dir=/usr/local/home/data/news
master_status_dir=/usr/local/home/status/news
其中的master_host代表的是主服务器的ip,在225中也要相同配置

7.修改bin文件夹下的script-util文件,修改confile路径为news文件夹下conf文件夹中的script.conf的路径(注明:不进行此步骤会造成SOLR外部调用监听器执行会失败)

8.修改solrconfig.xml文件,修改postcommit项为
找到 postCommit 节点,配置后的节点如下所示: <listener event="postCommit" class="solr.RunExecutableListener"> <str name="exe">/usr/local/home/news/bin/snapshooter</str> <str name="dir">.</str> <bool name="wait">true</bool> <arr name="args"> <str>-d</str> <str>/usr/local/home/data/news</str> </arr> <arr name="env"> <str>MYVAR=val1</str> </arr></listener>注明:每一个应用对应的配置文件都需要配置,包括外部命令的目录.

9.启动SOLR(主,从),启动solr就是启动tomcat,需要在tomcat所在目录的conf文件夹中,catlina文件夹下localhost文件目录之中建立solr.xml,内容如下
<?xml version="1.0" encoding="utf-8"?>
<Context path="\solr" docBase="/usr/local/apache-tomcat-6.0.35/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="/usr/local/home" override="true" />
</Context>
10.启用RSYNC(主,用于同步) /usr/local/home/news/bin/rsyncd-enable –v /usr/local/home/news/bin/rsyncd-start –v

11.配置清理脚本(从服务器) crontab -e
*/30 0 * * * /usr/local/home/news/bin/snapcleaner
*/30 0 * * * /usr/local/home/news/bin/snapcleaner
Service crond restart
每30分钟清理一次
12.启用快照(从)
/usr/local/home/news/bin/snappuller-enable -v
/usr/local/home/news/bin/snappuller-start -v
13.获取并支持快照crontab –e */10 * * * * /usr/local/home/news/bin/snappuller;/usr/local/home/news/bin/snapinstaller 说明:系统每五分钟调用一次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 保存即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值