solr的复制功能

参考朋友chenlb的文章:http://www.iteye.com/topic/211807,谢谢!

solr的复制功能可以把创建索引和search分离开来,可以像一台主服务器发送http请求创建索引,创建完了,利用linux crontab定时功能,实现向多台索引服务器的replicate。实现索引的同步。
要在solr里配置索引段位2个,这样每次都是事复制最新新增加的索引过去,而不是全部。索引复合文件配置设置为false。

solr的分发是用rsync的。
快照与分发过程:

1.snapshooter 命令在主服务器产生快照。一般在commit和optimize之后被solr调用。

2.snappuller 命令在从服务器运行,所做的事是从主服务器拉最新的快照。 用rsync的daemon模式来运行可以获得更好的性能与更底的CPU利用率。

3.snapinstaller 命令在从服务器运行,当从服务器从主服务器拉完快照后才执行。它会通知本地Solr服务器打开一个新的index reader,然后预热这个新index reader的缓存,此时有请求,原来的index reader继续为这此请求服务。一但预热完成,Solr 启用新的index reader,旧的被消亡。

配置如下:

1.安装好jdk,tomcat,solr。主服务器ip为:10.0.8.9,索引服务器为10.0.8.5,两机器要实现ssh无密码交互。
2.配置Scripts文件里记录。放在solrHome/conf/scripts.conf文件里。

//主服务器上的配置
user=root
solr_hostname=10.0.8.9
solr_port=8080
rsyncd_port=18983
data_dir=/data1/server
webapp_name=solr
master_host=10.0.8.9
master_data_dir=/data1/server
master_status_dir=/data1/solrLog


//索引服务器上的配置
user=root
solr_hostname=10.0.8.5
solr_port=8080
rsyncd_port=18983
data_dir=/data1/slave/
webapp_name=solr
master_host=10.0.8.9
master_data_dir=/data1/server
master_status_dir=/data1/solrLog

3.配置好后,分别启动tomcat,加载solr。
4.在主服务器上启用且启动rsync:

./rsyncd-enable -u root -v
./rsyncd-start -u root -v

//此时用netstat -tnlp 查看端口号,发现18933端口已经启动

5.向主服务器里添加几个Document,创建索引。
6.在主服务器上产生快照

./snapshooter -u root -v

7.在搜索服务器上下拉快照,安装快照:

./snappuller-enable -u root -v
./snappuller -u root -v
./snapinstaller -u root -v

8.可以再2台机器上同时搜索,现在数据应都是相同的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值