upxiaofeng的专栏

敲代码,打游戏,看电影,偶尔失了智

Solr 6.0 学习(六)solr集群

这里采用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的主从复制的整体架构如下:





阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/upxiaofeng/article/details/51548024
文章标签: solr 集群 服务器
个人分类: solr学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Solr 6.0 学习(六)solr集群

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭