Solr多机部署总结

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 保存即可

猜你喜欢

转载自ann88884043.iteye.com/blog/1570771