`
huanglz19871030
  • 浏览: 250709 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Solr Replication(复制)是怎样工作的

 
阅读更多

        luence有一个IndexDeletePolicy接口,这个接口是提供luence删除索引文件的两个时机,分别是init和commit,

init是在IndexWirter创建时执行的。commit是在有索引文件更新,提交是执行的。而indexDeletePolicy这两个方法都会得到一个提交点集合即(IndexCommit),IndexCommit是luence的一个抽象类,从它可以取到该提交点相关的段文件名,所有的索引文件,索引目录,索引版本,最后修改时间等,具体的方法如下:

   /**

   * Get the segments file (<code>segments_N</code>) associated 

   * with this commit point.

   */

  public abstract String getSegmentsFileName();

  /**

   * Returns all index files referenced by this commit point.

   */

  public abstract Collection<String> getFileNames() throws IOException;

 

  /**

   * Returns the {@link Directory} for the index.

   */

  public abstract Directory getDirectory();

 

/** Returns the version for this IndexCommit.  This is the

   *  same value that {@link IndexReader#getVersion} would

   *  return if it were opened on this commit. */

  public abstract long getVersion();

/** Convenience method that returns the last modified time

   *  of the segments_N file corresponding to this index

   *  commit, equivalent to

   *  getDirectory().fileModified(getSegmentsFileName()). */

  public long getTimestamp() throws IOException {

    return getDirectory().fileModified(getSegmentsFileName());

  }

 

所以通过indexCommit,Solr能知道那些文件是需要复制的。

 

复制索引文件

 

      Solr复制是从机Slave不断的向主机发起轮询操作,看主机的索引文件版本是否发生变化,如果发生了变化,则从机就下载索引文件到一个临时目录,如果下载期间出现通讯故障,则会从断点出继续下载。下载完所有的文件时,把下载的文件移动到索引目录,通过ReplicationHandler发起一个commit命令,重新加载索引文件。

 

转载自:http://ronxin999.blog.163.com/blog/

分享到:
评论

相关推荐

    Solr项目源码及solr资源包

    8. **SolrCloud模式**:如果项目涉及到SolrCloud,那么还需要了解分布式搜索和存储的概念,如Sharding(分片)、Replication(复制)和ZooKeeper(协调节点)。 9. **Spring Data Repository**:项目可能使用了...

    solr安装与配置

    - **配置Solr工作目录**:将`solr-4.7.0`中的`example\solr`目录复制到`D:\Solr\solr1\home`目录下。 - **部署Solr应用**:将`solr-4.7.0\example\webapps\solr.war`文件复制到Tomcat的`webapps`目录下,以实现Solr...

    Hbase同步数据到Solr的方案

    随后,后台的复制线程会将这些变更事件发送到Solr,以创建或更新索引。这一过程与MySQL的主从复制机制类似,每个Region Server都有自己的WAL Log,并且在ZooKeeper中维护同步位置。 操作时序图大致如下: 1. 客户端...

    Solr(Cloudera)使用手册

    2. **停止节点**:测试添加复制后集群的可用性,可以尝试停止某一台服务器(例如node43),此时集群仍能正常工作。 #### 四、配置Data Import Data Import是Solr的重要特性之一,它允许Solr直接从数据库或其他数据...

    solr开发维护参考

    7. **分布式搜索**(SolrCloud):SolrCloud是Solr的分布式解决方案,支持集群部署、自动复制和故障转移。理解ZooKeeper的角色以及Sharding和Replication原理是大规模部署的关键。 8. **实时索引**:Solr支持实时...

    Solr.学习文档

    Solr 支持两种类型的复制:自动复制和手动复制。 - **自动复制**:通过配置自动复制,当主节点上的索引发生变化时,这些更改会自动传播到其他节点。 - **手动复制**:管理员需要手动触发复制过程,通常用于需要精确...

    solr5.5.4部署及使用

    对于Tomcat部署方式,同样是从Apache官网获取Solr 5.5.4,解压后将`solr-webapp`目录复制到Tomcat的`webapps`目录下并重命名为`solr`。将必要的jar文件和配置文件移动到Tomcat的相应目录。在`solr_home`目录下创建...

    solr 配置 以及建立索引

    - **复制War包**:将`apache-solr-1.4.1.dist\apache-solr-1.4.1.war`文件复制到Tomcat的`webapps`目录下,并将其重命名为`solr.war`。 - **启动与停止Tomcat**:启动Tomcat使其自动解压`solr.war`,然后停止...

    zookeeper-solr集群

    - 创建一个名为`solr-home`的目录,将`solr-4.8.1/example/multicore`的内容复制到`solr-home`,然后在每个Tomcat的`web.xml`文件中设置`&lt;env-entry&gt;`,将`solr/home`指向`solr-home`的路径。 2. **配置SolrCloud*...

    solr 4.10&

    - **Replication(复制)**:通过主从复制,确保数据的一致性和高可用性,当主节点故障时,从节点可以接管服务。 - **Cloud模式**:通过ZooKeeper协调,支持动态添加和删除节点,实现自动负载均衡和故障恢复。 - ...

    ES和solr搜索方案对比

    首先,ES是一个分布式搜索服务器,它提供了轻松的分片(sharding)和复制(replication)功能。这意味着ES能够将一个大索引分割成小块,分散在不同的节点上,同时它还能够将索引复制到多个节点,从而实现高可用性和...

    solr6.6.0源码

    4. **复制(Replication)**:用于保证数据的一致性和冗余,防止单点故障。 5. **Cloud模式**:在ZooKeeper的协调下,Solr支持云部署,实现动态集群管理和数据路由。 二、Solr配置 Solr的配置主要通过`solrconfig....

    solr安装资源

    配置Sharding(分片)和Replication(复制),确保数据分布和容错性。 7. **故障恢复与数据一致性**:在SolrCloud中,ZooKeeper负责监控节点状态,当节点故障时,可以自动将请求重定向到其他节点。同时,Solr提供了...

    solr入门学习

    - **后续学习建议**:为了更深入地掌握Solr,建议进一步学习Solr的高级特性,如Sharding(分片)、Replication(复制)、Cloud模式等,并尝试实践更多的应用场景。 以上就是关于Solr入门学习的关键知识点,希望能...

    solr-4.2.0

    3. **Sharding与Replication**:Solr 4.2.0加强了sharding(分片)和replication(复制)功能,使得大型数据集可以在多台服务器间均匀分布,提高查询效率和系统容错能力。用户可以通过配置轻松管理分片策略和复制...

    Solr下载地址

    7. **分布式部署**:Solr可以通过Sharding和Replication机制实现数据的分布式存储和检索。 ### 应用场景 Solr因其强大的功能和灵活性,在多个领域得到了广泛应用: 1. **电子商务网站**:用于商品搜索和推荐系统...

    solr 分布式参考

    3. **Replication(复制)**: 分片可以有多个副本,以提高可用性和容错性。如果主分片出现问题,副本可以接管服务,确保服务不中断。 4. **路由与负载均衡**: 当客户端发起请求时,请求会通过Zookeeper被路由到正确...

    solr4.9+tomcat+zookeeper集群

    6. **创建并分发索引**: 在Zookeeper中创建新的索引集合,Solr会自动将它们分片和复制到各个节点。 五、Solr 4.9集群的管理和监控 1. **Solr Admin UI**: 使用内置的Web管理界面,可以查看集群状态、创建和管理索引...

    solr-6.4.1 安装包.zip

    2. **Replication**:自动复制分片,确保数据冗余和故障切换。 3. **ZooKeeper Integration**:借助ZooKeeper进行集群管理,监控和协调Solr节点的状态。 通过以上介绍,我们可以看到Solr 6.4.1不仅是一个强大的全文...

    solr in action

    - **复制(Replication)**:为了提高可靠性和可用性,Solr可以通过复制来实现数据的冗余存储。 - **分片(Sharding)**:对于非常大的数据集,Solr可以通过分片将其拆分成更小的部分进行分布式的存储和处理。 #### ...

Global site tag (gtag.js) - Google Analytics