笔记五十六:生产环境常用配置和上线清单

Development vs. Production Mode

  • 从 ES 5 开始,支持 Development 和 Production 两种运行模式
    • 开发模式
    • 生产模式

生产环境常用配置和上线清单

Bootstrap Checks

  • 一个集群在 Production Mode 时,启动时必须通过所有 Bootstrap 检测,否则会启动失败
  • Bootstrap Checks 可以分为两类:JVM & Linux Checks。Linux Checks 只针对 Linux 系统

生产环境常用配置和上线清单
https://www.elastic.co/guide/en/elasticsea...

JVM 设定

集群的 API 设定

  • 静态设置和动态设定
    • 静态配置文件尽量简洁:按照文档设置所有相 关系统参数。 elasticsearch.yml 配置文件 中尽量只写必备参数
  • 其他的设置项可以通过 API 动态进行设定。 动态设定分 transient 和 persistent 两种, 都会覆盖 elasticsearch.yaml 中的设置
    • Transient 在集群重启后会丢失
    • Persistent 在集群中重启后不会丢失

生产环境常用配置和上线清单

系统设置

最佳实践:网络

  • 单个集群不要跨数据中心进行部署(不要使用 WAN)
  • 节点之间的 hops 越少越好
  • 如果有多块网卡,最好将 transport 和 http 绑定到不同的网卡,并设置不同的防火墙 Rules
  • 按需为 Coordinating Node 或 Ingest Node 配置负载均衡

最佳实践: 内存设定计算实例

  • 内存大小要根据 Node 需要存储的数据来进行估算
    • 搜索类的比例建议: 1:16
    • 日志类: 1:48 - 1:96 之间
  • 总数据量 1 T, 设置一个副本 = 2T 总数据量
    • 如果搜索类的项目,每个节点 31 *16 = 496 G,加上预留空间。所以每个节点最多 400 G 数据,至少需 要 5 个数据节点
    • 如果是日志类项目,每个节点 31*50 = 1550 GB,2 个数据节点 即可

最佳实践:存储

最佳实践:服务器硬件

  • 建议使用中等配置的机器,不建议使用过于强劲的硬件配置
    • Medium machine over large machine
  • 不建议在一台服务器上运行多个节点

集群设置:Throttles 限流

  • 为 Relocation 和 Recovery 设置限流,避免过多任务对集群产生性能影响
  • Recovery
    • Cluster.routing.allocation.node_concurrent_recoveries: 2
  • Relocation
    • Cluster.routing.allocation.cluster_concurrent_rebalance: 2

集群设置:关闭 Dynamic Indexes

  • 可以考虑关闭动态索引创建的功能
    PUT _cluster/settings
    {
    "persistent": {
      "action.auto_create_index":false
    }
    }
  • 或者通过模版设置白名单
    PUT _cluster/settings
    {
    "persistent": {
      "action.auto_create_index":"logstash-*,.kibana*"
    }
    }

集群安全设定

  • 为 Elasticsearch 和 Kibana 配置安全功能
    • 打开 Authentication & Authorization
    • 实现索引和和字段级的安全控制
  • 节点间通信加密
  • Enable HTTPS
  • Audit logs
本作品采用《CC 协议》,转载必须注明作者和本文链接
快乐就是解决一个又一个的问题!
CrazyZard
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!