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

集群规划

  • 集群大小设置的依据:
    • 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
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值