• 十、自定义分片个数


    前面ES集群详解说过了ES有主分片跟副本分片,副本分片是主分片的备份,且副本分片数量可以自定义。

    目前集群状态,可以看到在没有进行配置的情况下,默认副本分片数是1个,主分片数也是1个

    1、默认分片数规则

    7.x版本之前默认:5个分片,1个副本分片
    7.x版本之后默认:1个分片,1个副本分片

    通过前面的实验我们知道,es默认是1个主分片,1个副本分片,副本分片是主分片数据的备份。那么5个分片是怎么回事呢?
    5个分片,是将一块数据分成5块,分布在集群各个服务器上。拿linux索引举例,5个分片就是将linux索引数据分为5块,这5块分片总和才是完整的linux索引的数据。

    2、自定义副本分片数

    通过kibana控制台使用查看命令GET查看默认副本分片数为1
    number_of_shards为分片数
    number_of_replicas为副本分片数

    执行后续的PUT修改命令,将副本数修改为2个,修改后的效果如下图所示

    我们可以看到,linux索引的主分片在es03服务器上,es01跟es02服务器放置的是副本分片,即2个副本分片

    如果定义成了300个副本会变成什么样呢?
    我们把前面提到的number_of_replicas的值修改为300,效果如下图所示

    从图可知,2个副本分片在es01跟es02服务器上,还有298个副本分片无家可归,需要再创建298个节点才行,此时的集群颜色为黄色,因为定义的副本分片数跟实际的副本分片数不一致。

    3、定义分片数

    我们创建一个名为linux76的索引,并定义为3个分片数,0个副本数查看一下效果

    效果如下图所示

    这时可以发现,linux76索引有3个主分片,分布在es01,es02,es03服务器上,框内数字分别以0,1,2标识。
    这是linux76索引数据被分为了3块,分别存放在这三台服务器上了。
    对于linux76索引而言,如果这三台机器宕机了一台,数据就不完整了。

    修改Linux76索引的副本分片个数,定义为1个

    修改后效果如下图所示

    这时针对linux76索引而言,宕机了这三台服务器中的任何一台,数据都是完整的,可通过其他服务器上的分片保证数据的完整性。

    注意,定义分片数只能在创建索引时定义

    4、应用场景

    1)根据节点数配置
    在2个节点的情况下
    默认即可,即1个主分片,1个副本分片

    在3个节点的情况下
    重要数据:1个主分片,2个副本分片
    不重要的数据:1个主分片,1个副本分片

    2)根据场景设置
    日志收集:1个副本3个分片
    搜索功能:2副本3分片

    日志收集需要的是写,所以分片数越多越好
    搜索功能提供的是读,所以副本数越多效果越好

    5、总结

    1、副本分片数可以随时修改(即创建索引时,或建立索引后都能修改)
    2、索引一旦建立完成,分片数就不能修改了

    参考资料
    老男孩教育_day105_视频

  • 相关阅读:
    Xcopy参数介绍
    C# 子窗体中调用父窗体中的方法(或多窗体之间方法调用)
    WinForm窗体之间交互的一些方法(转)
    C#.Net组件开发 使用Attach to Process实时调试设计器代码(转)
    win7以管理员身份运行程序
    如何关闭Windows7的UAC
    用“回车”键代替“Tab”键
    笑话20110928
    项目管理师
    软考计算机技术与软件专业技术资格(水平)考试
  • 原文地址:https://www.cnblogs.com/tz90/p/15214005.html
Copyright © 2020-2023  润新知