ElasticSearch —— 高级介绍(四)

1、ES如何实现分布式高并发全文检索?为什么要实现集群?

         ES核心存放是索引。

         由于在单台ES服务器节点上,随着业务量的发展索引文件慢慢增多,会影响到效率和内存存储问题。

         如果ES实现了集群的话,会将单台服务器节点的索引文件使用分片技术,分布式存放在多个不同的物理机器上。

         从而可以实现高可用、容错性等。

         分片技术:将数据拆分成多台节点进行存放。   

2、简单介绍ES分片Shards分片技术?ES是如何解决高并发?

          ES是一个分布式全文检索框架,隐藏了复杂的处理机制,内部使用分片机制、集群发现、分片负载均衡请求路由。

          Shards分片:代表索引分片,ES可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引拆分成多个,

                                分布到不同节点上。构成分布式搜索。分片的数量只能在索引创建前指定,并且索引创建后不能更改。

          Replicas分片:代表索引副本,ES可以设置多个索引的副本,副本的作用一是提供系统的容错性,

                                  当某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高ES的查询效率,

                                   ES会对自动搜索请求进行负载均衡。

        number_of_shards: 5    主分片

        number_of_replicas: 1    副分片

        在ES中每一个主分片都会对应一个副分片,如果已经定义好了主分片的数量,就不能再改主分片的数量。

3、为什么ES主分片对应的备份分片不在同一台节点存放?

     每一个主分片为了实现高可用,都会有对应的备份分片,主分片对应的备份分片不能不能存放同一台服务器上,主分片可以和其他备份分片存放在同一node节点上。

注意:对应的主的分片和备的分片不能存放在同一node节点上。

4、索引的主分片定义好后为什么不能作修改?

5、ES如何实现高可用容错方案?       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章