zoukankan      html  css  js  c++  java
  • elasticsearch集群优化

    es集群优化方案:
    1.节点职责划分明确:master节点(控制整个集群),数据节点(存储数据),客户端节点(响应用户,转发请求);
    2.禁用交换分区:
    3.关闭data节点服务器的http功能:
    4.内存分配

    配置详情
    1. 节点职责划分
    主节点:主要职责是和集群操作相关的内容,如创建或删除索引,跟踪哪些节点是群集的一部分,并决定哪些分片分配给相关的节点。 配置文件定义:node.master: true node.data: false
    数据节点:主要是存储索引数据的节点,主要对文档进行增删改查操作,聚合操作等。 配置文件定义:node.master: false node.data: true
    客户端节点:处理路由请求,处理搜索,分发索引操作等,从本质上来讲客户节点表现为智能负载平衡器。配置文件定义:node.master: false node.data: false

    2. 禁用交换分区
    临时禁用:
    swapoff -a
    降低操作系统交换内存的频率:
    在/etc/sysctl.conf中配置:vm.swappiness = 1
    配置JVM锁住内存:
    在elasticsearch.yml配置: bootstrap.mlockall: true

    3.关闭data节点服务器的http功能
    针对ElasticSearch集群中的所有数据节点,不用开启http服务。将其中的配置 参数这样设置:http.enabled: false。
    同时不要安装head, bigdesk, marvel等监控插件,保证data节点服务器只需处理创建/更新/删除/查询索引数据等操作。

    4.内存分配
    配置机器50%的内存给elasticsearch,预留一半内存给Lucene使用。 修改配置文件/etc/elasticsearch/jvm.options。

    索引优化策略
    1.取消replica
    curl -XPUT -u$es_user:$es_passwd http://localhost:9200/$index_name/_settings -d '
    {
    "index" : {
    "number_of_replicas" : 0
    }
    }'
    #注意替换变量index_name,es_user,es_passwd
    2.合并segment
    curl -XPOST -u$es_user:$es_passwd "http://localhost:9200/$index_name/_forcemerge?max_num_segments=1"

    赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!

    作者: imcati

    出处: https://www.cnblogs.com/imcati/>

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

  • 相关阅读:
    Big-data:Linux基础(04)--快捷键
    Big-data:Linux基础(03)
    Big-data:Linux基础(02)
    [mysql]删除和修改
    git使用两个异常处理
    jmeter函数使用以及json格式的后置处理器
    jmeter遇到中文不可见
    jmeter参数化
    GIT简易使用
    mysql基本语句(更新中)
  • 原文地址:https://www.cnblogs.com/imcati/p/9774505.html
Copyright © 2011-2022 走看看