关闭

Solr 6.0 学习(六)solr集群

标签: solr集群服务器
3424人阅读 评论(2) 收藏 举报
分类:

这里采用master-slave的方式

简单来说,复制操作就是通过检测机制发现master服务器上有新的索引时即复制到slave服务器上, 并以时间精确到秒为文件夹名后缀index201307182307进行复制,待复制完之后,删除原来索引的文件夹并切换文件夹名index.

solr集群状态:

查询solr当前集群状态:http://localhost:8080/solr/my_solr/replication

停止master和slaves之间的复制关系:http://localhost:8080/solr/my_solr/replication?command=disablereplication

启动master和slaves之间的复制关系:http://localhost:8080/solr/my_solr/replication?command=enablereplication

手动复制数据,和slave自动复制相当:http://localhost:8080/solr/my_solr/replication?command=fetchindex

开始配置:

1、首先准备2两个tomcat(多个也行),一个作为master,其他作为slave。

2、配置master主机

      修改solrconfig.xml文件

<span style="font-family:Microsoft YaHei;font-size:14px;"><requestHandler name="/replication" class="solr.ReplicationHandler">
    <lst name="master">
	  <!-- 执行commit操作后进行replication操作,同样的可以设置startup,optimize -->
      <str name="replicateAfter">commit</str>
	  <!-- 需要复制的文件 -->
      <str name="confFiles">schema.xml,stopwords.txt,synonyms.txt</str>
	  <!-- 验证用户名 -->
      <str name="httpBasicAuthUser">upxiaofeng</str>
	  <!-- 验证密码 -->
      <str name="httpBasicAuthPassword">123</str>
    </lst>
  </requestHandler></span>
3、配置slave从机

<span style="font-family:Microsoft YaHei;font-size:14px;"><requestHandler name="/replication" class="solr.ReplicationHandler">
    <lst name="slave">
      <!-- master主机地址 -->
      <str name="masterUrl">http://127.0.0.1:8080/solr/my_solr/replication</str>
	  <!-- 同步触发时间,如下是每分钟触发一次 -->
      <str name="pollInterval">00:01:00</str>
	  <!-- 验证用户名 -->
      <str name="httpBasicAuthUser">upxiaofeng</str>
	  <!-- 验证密码 -->
      <str name="httpBasicAuthPassword">123</str>
    </lst>
  </requestHandler></span>

4、启动主机和从机的时候复制过来的文件和索引会有一个版本 bak




总结,solr的主从复制的整体架构如下:





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:82198次
    • 积分:1470
    • 等级:
    • 排名:千里之外
    • 原创:63篇
    • 转载:22篇
    • 译文:0篇
    • 评论:50条
    最新评论