设为首页 收藏本站
查看: 1126|回复: 0

[经验分享] solr分布式索引

[复制链接]

尚未签到

发表于 2016-12-15 08:48:29 | 显示全部楼层 |阅读模式
1、分发
这个功能是已经配置在query request handler里面的。因此你无需做额外的配置,如果你想在多个shards上面进行查询,那么你只需要在url跟相关的参数即可:
Eg: http://localhost:8080/solr1/select?shards=localhost:8080/solr1,localhost:8080/solr2&q=*php*

2、SOLR复制模式
SOLR复制模式,是一种在分布式环境下用于同步主从服务器的一种实现方式,因之前提到的基于rsync的SOLR不同方式部署成本过高,被SOLR1.4版本所替换,取而代之的就是基于HTTP协议的索引文件传输机制,该方式部署简单,只需配置一个文件即可。

以下讲解具体操作步骤:

     步骤分主服务器和从服务器,允许有多个从服务器,即从服务器的配置一样。

主服务器:
      在solrConfig.xml中,找到以下行:

    <requestHandler name="/replication" class="solr.ReplicationHandler" >  
        <lst name="master">  
            <str name="replicateAfter">commit</str>  
      
            <str name="confFiles">schema.xml,stopwords.txt,elevate.xml</str>  
            
            <str name="commitReserveDuration">00:05:00</str>  
            <str name="httpBasicAuthUser">123</str>  
            <str name="httpBasicAuthPassword">123</str>  
      
      
        </lst>  
    </requestHandler>  

说明:

    replicateAfter : SOLR会自行在以下操作行为发生后执行复制: 'commit', 'startup' 'optimize',这里我们选择commit , 即SOLR每一次接受到commit请求后,会执行复制策略。
    confFiles : 待分发的配置文件,solr 也会将主服务器上的字段配置文件:schema.xml和stopwords.txt,固排文件: elevate.xml同步到辅服务器上。
    commitReserveDuration: 每次commit之后,保留增量索引的周期时间,这里设置为5分钟。

从服务器

    <requestHandler name="/replication" class="solr.ReplicationHandler" >  
        <lst name="slave">  
      
            <str name="masterUrl">http://localhost:port/solr/corename/replication</str>   
      
            <str name="pollInterval">00:05:00</str>   
              
            <str name="compression">internal</str>  
            
            <str name="httpConnTimeout">5000</str>  
            <str name="httpReadTimeout">10000</str>  
      
      
            <str name="httpBasicAuthUser">123</str>  
            <str name="httpBasicAuthPassword">123</str>  
      
         </lst>  
    </requestHandler>  

说明:

    masterUrl : 主服务器同步URL地址,“replication”是固定字符串,eg:http://localhost:8080/solr/core/replication
    pollInterval:从服务器同步间隔,即每隔多长时间同步一次主服务器
    httpConnTimeout:设置连接超时(单位:毫秒)
    httpReadTimeout:如果设置同步索引文件过大,则应适当提高此值。(单位:毫秒)
    httpBasicAuthUser:验证用户名,需要和主服务器一致
    httpBasicAuthPassword:验证密码,需和主服务器一致
    compression:external or internal 使用SOLR自己的压缩算法或应用容器的

    区别: 内部算法会大大提高同步成本,原话: USE THIS ONLY IF YOUR BANDWIDTH IS LOW . THIS CAN ACTUALLY SLOWDOWN REPLICATION IN A LAN。

    因此建议使用外部方式即: external .

    同时需要配置外部应用容器: 以TOMCAT为例:
    server.xml中
    <Connector compression="on"   
    compressableMimeType="text/html,text/xml,text/plain"   
    compressionMinSize="2048"/>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-314458-1-1.html 上篇帖子: solr schema.xml 字段解析 下篇帖子: solr中使用paoding
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表