• godtrue
    2019-09-22
    分片的设计与管理——分片是ES存储数据的地方,本质是一个lucene的索引,分片是ES机器实现水平扩展的最小单位,用她来存储数据必然会消耗系统的性能,如果存储的数据过大,则性能必然不佳。ES官方建议日志应用最好小于50G,搜索应用最好小于20G。
    如果只有一个分片,那ES就失去了自动水平扩展的能力,具体应该设置多少分片数,需要根据实际场景来定,一般而已分片数应大于节点数。
    另外,分片又分为主分片和副本,主分片提供读写的能力,副本只提供读的能力,副本是ES集群数据高可靠性的基石,另外,增加副本也能提高集群的读性能。
    具体设置几个主分片需要做容量规划,主分片一旦设定,则不能随意修改,除非做reindex,主分片数是文档路由的关键参数,所以,一旦变化必然需要reindex。
    展开
    
     3
  • 233
    2019-12-19
    老师,分片小为啥会提高update性能?update不也是delete再index,1s一个segment,都是写内存落硬盘。大了可能merge会慢或者merge不了,但是对update影响在哪里呢,辛苦老师帮解答下
    
    
  • 超威丶
    2019-10-08
    老师请问一个问题,2T的数据设置5个分片是否不合理了?目前我们就是这么干的。

    作者回复: 根据日志和搜索的场景,设置不同大小的分片数。2T设置5个分片,每个shard的尺寸确实是大了一些。

    
    
  • 一粒
    2019-09-05
    老师,当集群加入一个新节点后,分片会立即rebalance来达到平衡的,这个过程比较快的,为什么说会出现热数据过于集中?

    作者回复: 有的时候,es只会基于分片的个数来进行平衡。而不考虑数据量,所以需要认为进行一些设定(cluster.routing.allocation.total_shards_per_node)少数的时候进行干预

    
    
我们在线,来聊聊吧