ELK优化之Elasticsearch

在Elasticsearch中进行优化通常涉及到配置调整和索引优化。以下是一些常见的Elasticsearch优化策略和示例配置:

  1. 硬件升级:增加更多的CPU、内存和存储资源。
  2. 分布式架构:使用多个节点来分散负载。
  3. 调整elasticsearch.yml配置:

    • node.master: 是否允许该节点被选举为master节点。
    • node.data: 是否存储数据。
    • node.ingest: 是否处理插入(索引和更新)请求。
    • cluster.initial_master_nodes: 用于启动集群的主节点列表。
    • network.host: 设置节点监听的IP地址。
    • http.port: 设置节点监听的HTTP端口。
    • discovery.seed_hosts: 用于自动发现其他集群节点的主机列表。
  4. 配置索引设置(如分片数和副本数):

    
    
    
    PUT /my_index
    {
      "settings": {
        "number_of_shards": 3,
        "number_of_replicas": 2
      }
    }
  5. 监控和日志记录:使用Elasticsearch Monitoring和Logstash。
  6. 限制Elasticsearch内存使用:

    • indices.fielddata.cache.size: 限制字段数据缓存大小。
    • indices.breaker.fielddata.limit: 设置字段数据断路器的内存限制。
    • indices.breaker.request.limit: 设置请求级断路器的内存限制。
    • indices.queries.cache.size: 设置查询缓存大小。
  7. 使用Elasticsearch Curator来管理索引的生命周期。
  8. 优化查询:减少_score计算的字段、使用doc_values等。
  9. 使用数据预处理(如Logstash)减少Elasticsearch负载。
  10. 定期进行索引维护,如强制合并或删除旧索引。

示例配置调整(根据具体情况进行调整):




# 分配更多的JVM内存
ES_JAVA_OPTS: "-Xms4g -Xmx4g"
 
# 设置节点为数据节点
node.data: true
 
# 设置节点为可以成为master节点
node.master: true
 
# 设置节点可以处理插入请求
node.ingest: true
 
# 设置集群初始主节点
cluster.initial_master_nodes: ["node-1", "node-2"]
 
# 设置Elasticsearch监听的IP和端口
network.host: 0.0.0.0
http.port: 9200
 
# 设置集群节点发现机制
discovery.seed_hosts: ["host1", "host2"]

请根据具体的Elasticsearch集群状态和负载情况进行调整。

评论已关闭

推荐阅读

Vue中使用mind-map实现在线思维导图
2024年08月04日
VUE
Web前端最全Vue实现免密登录跳转的方式_vue怎么样不登录返回首页,最强技术实现
2024年08月04日
VUE
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)
2024年08月04日
VUE
Vue-颜色选择器实现方案——>Vue-Color( 实战*1+ Demo*7)
2024年08月04日
VUE
Vue项目卡顿慢加载?这些优化技巧告诉你!_vue数据多渲染卡顿
2024年08月04日
VUE
vue中的keep-alive详解与应用场景
2024年08月04日
VUE
Vue、React实现excel导出功能(三种实现方式保姆级讲解)
2024年08月04日
vue-office/docx插件实现docx文件预览
2024年08月04日
VUE
java调用js文件的两种方法(支持V8引擎)
2024年08月04日
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
2024年08月04日
两周从爬虫小白变大神 _yjs_js_security_passport
2024年08月04日
JS笔记(对象、函数、数组)
2024年08月04日
Markdown.js:强大的纯JavaScript Markdown解析器
2024年08月04日
Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。
2024年08月04日
vue 父组件怎么获取子组件里面的data数据
2024年08月04日
VUE
个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)
2024年08月04日
el-table 表格封装并改造实现单元格可编辑
2024年08月04日
none
nodejs环境下创建vue项目、SSH密钥登陆!!!
2024年08月04日
vue+quill+element-ui实现视频、图片上传及缩放保姆级教程,轻松使用富文本
2024年08月04日
【three.js】22. Imported Models导入模型
2024年08月04日