SolrCloud使用问题记录

转贴请声明原文:http://blog.csdn.net/duck_genuine/article/details/8749121


可以在solr.xml上配置 shardHandlerFactory,这样不用在solrconfig.xml配置重复,

单独配置,可以给所有searchandler共用。具体如何配置wiki还没有写。不过应该跟普通的plug配置一样。



 

 protected void initShardHandler(Config cfg) {
    PluginInfo info = null;
    if (cfg != null) {
      Node shfn = cfg.getNode("solr/cores/shardHandlerFactory", false);
  
      if (shfn != null) {
        info = new PluginInfo(shfn, "shardHandlerFactory", false, true);
      } else {
        Map m = new HashMap();
        m.put("class",HttpShardHandlerFactory.class.getName());
        info = new PluginInfo("shardHandlerFactory", m, null, Collections.<PluginInfo>emptyList());
      }
    }

    HttpShardHandlerFactory fac = new HttpShardHandlerFactory();
    if (info != null) {
      fac.init(info);
    }
    shardHandlerFactory = fac;
  }

后面发现在后台动态创建solrcore后,solr.xml被重新持久化了,但shardHandlerFactory的配置不见了,即使初始化的solrcore都有没有问题,但如果结点被意外关闭,还是得重新配置shardHandlerFactory。所以这个问题还真是隐藏,开始测试能从solr.xml配置真是爽,这个bug还是很不地道,无奈先在solrconfig.xml上配置它了。

 需要解决这个问题。。

4.3跟5.0也将抛弃solr.xml  http://wiki.apache.org/solr/Core%20Discovery%20%284.3%20and%20beyond%29s




leader选举的一个问题



某一个shard 有一个leader跟一个follower,现在将leader的core  unload掉,发现另一个follower并不会被选 举为leader,将leader的那个结点stop后,follower才被选 举为leader。


当时很奇怪现象,所有leader都没了,只有follower,但是可以搜索,但不可以被 更新。


所以那unload最好不要是leader了,这个要注意,但可能这是一个bug,没有将unload作为将leader去除,然后再作选 举。

今天好像试过又可以,TMD奇怪





观察zookeeper日志,看到经常性抛出异常

EndOfStreamException: Unable to read additional data from client sessionid 0x13ded7dcaa70010, likely client has closed socket 

原来是建索引程序没有关闭客户端的原因

ZkStateReader reader = cloudServer.getZkStateReader();

  if(reader!=null){

         reader.close();

  }

在程序最后增加该关闭动作,之前那个异常就没有了




转贴请声明原文:http://blog.csdn.net/duck_genuine/article/details/8749121






你可能感兴趣的:(SolrCloud使用问题记录)