美文网首页ELK
33.ES集群规划—整体规划

33.ES集群规划—整体规划

作者: 大勇任卷舒 | 来源:发表于2022-05-27 10:53 被阅读0次

    集群规划

    • 集群大小设置的依据:
      • ES JVM heap 最大可以设置32G
      • 30G heap大概能处理10T 的数据量, 如果内存很大 如128G, 可以在一台机器上运行多个ES节点
    • 两类应用场景:
      • 用于构建业务搜索功能模块, 且多是垂直领域的搜索
        • 数据量级几千万到数十亿级别, 一般2-4台机器规模
      • 用于大规模数据的实时OLAP(联机处理分析),如ELK Stack, 数据规模可能达到千亿或更多
        • 几十到上百节点的规模
    • 集群节点的角色分配
      • 节点角色:
        • master : node.roles: [ master ]
        • DataNode: node.roles: [ data ]
        • Cordinating only node: node.roles: [ ]
    • 节点角色的分配:
      • 小规模集群, 不需严格区分
      • 重大规模集群,应考虑单独的角色充当, 特别是并发查询量大,查询的合并量大,可以增加独立的协调节点
    • 避免数据脏写
      • ES7集群自主控制主节点状况
        • 且在新版本中启动了一个新的集群时需要有cluster.initial_master_nodes 初始化集群列表
      • ES7中discovery.zen 配置失效, 新配置为:


    • 中大规模集群中常用的配置:
      • Master 和 DataNode 角色分离, 配置奇数个master
      • 延长ping master的等待时长: discovery.request_peers_timeout : 30 , 默认为3s, 其他节点ping主节点多长时间没有响应就认为主节点不可用
    • 索引分片数和副本数设置
      • 索引的分片数在创建索引的时候指定, 一旦创建不可修改
      • 分片设置的参考原则:
        • ES推荐的JVM对空间为30~32G, 所以把你的分片最大容量限制为30G, 然后再对分片数量做合理估算
        • 根据节点数按照1.5~3倍的原则来创建分片
        • 对于基于日期的索引需求, 且对索引数据的搜索场景非常少, 也许这些索引量很大, 但每个索引的数据量不大于1G , 对于这类场景, 建议只需要为索引分配1个分片
    • 分片设置副本:
      • 为保证高可用, 副本数量设置为2即可, 要求集群至少要有3个节点来分开存放主分片、副本
      • 如发现并发量大时, 查询性能会下降,可增加副本数,来提升并发查询能力
    PUT /my_index_name/_settings
    {
      "number_of_replicas": 2
    }
    

    大数据视频推荐:
    腾讯课堂
    CSDN
    ELK入门精讲
    AIOps智能运维实战
    ELK7 stack开发运维
    大数据语音推荐:
    ELK7 stack开发运维
    企业级大数据技术应用
    大数据机器学习案例之推荐系统
    自然语言处理
    大数据基础
    人工智能:深度学习入门到精通

    相关文章

      网友评论

        本文标题:33.ES集群规划—整体规划

        本文链接:https://www.haomeiwen.com/subject/czemprtx.html