1、内存优化
在bin/elasticsearch.in.sh中进行配置
修改配置项为尽量大的内存:
ES_MIN_MEM=8g
ES_MAX_MEM=8g
两者最好改成一样的,否则容易引发长时间GC(stop-the-world)
elasticsearch默认使用的GC是CMS GC
如果你的内存大小超过6G,CMS是不给力的,容易出现stop-the-world
建议使用G1 GC
注释掉:
JAVA_OPTS=”$JAVA_OPTS -XX:+UseParNewGC”
JAVA_OPTS=”$JAVA_OPTS -XX:+UseConcMarkSweepGC”
JAVA_OPTS=”$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75″
JAVA_OPTS=”$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly”
修改为:
JAVA_OPTS=”$JAVA_OPTS -XX:+UseG1GC”
JAVA_OPTS=”$JAVA_OPTS -XX:MaxGCPauseMillis=200″
如果G1 GC优点是减少stop-the-world在几率,但是CPU占有率高。
需要更优化的性能,你可以参考
http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/G1GettingStarted/index.html
2、合理配置主节点和数据节点
配置文件:conf/elasticsearch.yaml
node.master: true
node.data: true
1) 当master为false,而data为true时,会对该节点产生严重负荷;
2) 当master为true,而data为false时,该节点作为一个协调者;
3) 当master为false,data也为false时,该节点就变成了一个负载均衡器。
3、设置合理的刷新时间
建立的索引,不会立马查到,这是为什么elasticsearch为near-real-time的原因
需要配置index.refresh_interval参数,默认是1s。
你可以像
http://zhaoyanblog.com/archives/299.html
文件中一样,调用接口配置
也可以直接写到conf/elasticsearch.yaml文件中
index.refresh_interval:1s
这样所有新建的索引都使用这个刷新频率。
相关推荐
1. **自动发现**:节点间的自动发现是Elasticsearch集群化的重要特性,新节点加入或离开集群时,数据会自动重新分布。 2. **路由与负载均衡**:请求根据分片ID自动路由至对应节点,负载均衡策略可以确保数据均匀...
Elasticsearch的架构主要由三个部分组成:Index、Type和Document。Index是一个逻辑上的存储单元,Type是Index中的一个逻辑分区,Document是Elasticsearch中的基本数据单元。 2. Elasticsearch的数据存储 Elastic...
Elasticsearch 7.17.10 是一个强大的开源搜索引擎和分析引擎,主要用于全文搜索、结构化搜索、近实时分析以及大数据处理。这个版本特别强调对Java 1.8(即Java 8)的支持,这意味着它可以在运行Java 8的环境中稳定...
第三部分主要讨论了Elasticsearch的水平扩展能力。Elasticsearch通过分布式特性,能够实现自动故障转移和高可用。在这一部分中,读者将学习如何在多个节点之间分配数据,以及如何在需要时动态地增加或减少节点数量。...
### ElasticSearch优化要点详解 #### 一、集群节点规划 **1. 数据节点 (node.master: false, node.data: true)** - **定义:** 此类型的节点仅作为数据节点,用于存储索引数据。 - **优势:** 通过使节点功能单一...
7. **性能优化**:探讨如何通过调整索引设置、优化查询语句、使用缓存等方式提升 Elasticsearch 的性能。 8. **脚本与函数**:学习使用 Elasticsearch 的脚本功能,实现动态计算和复杂的逻辑判断。 9. **实时监控*...
在日志收集和数据分析领域,Elasticsearch(简称ES)扮演着重要的角色。作为一个强大的全文搜索引擎,Elasticsearch允许用户通过简单的API进行数据索引、搜索、分析和可视化。然而,为了更好地处理中文等复杂语言,...
**三、Elasticsearch Head插件的主要功能** 1. **集群视图**:展示集群的总体健康状态(红、黄、绿),以及各个节点的信息。 2. **索引管理**:创建、删除、刷新索引,查看索引的分片分布和副本情况。 3. **文档...
Elasticsearch与Hadoop是当今大数据处理领域的两大重要技术,它们在数据存储、处理和检索方面各有所长。Elasticsearch是一个基于Lucene的分布式搜索服务器,其设计目的是提供一个分布式的、可扩展的全文搜索引擎,...
Elasticsearch(简称ES)是一种基于Lucene的分布式、RESTful搜索引擎,常用于大数据分析、日志收集和实时搜索等场景。在单节点部署中,我们将设置一个独立的Elasticsearch实例,适用于学习、测试或者小型应用。 **...
Elasticsearch Header 是一个专为 Elasticsearch 客户端设计的插件,它基于 Node.js 运行,旨在增强和扩展ES客户端的功能,特别是对于用户界面和交互方面提供了更丰富的头部信息支持。在本文中,我们将深入探讨该...
本项目结合了Elasticsearch、Mybatis和AOP三个重要的组件,构建了一个强大的数据处理系统。下面将详细阐述这三个技术及其整合过程中的关键知识点。 **Elasticsearch** 是一个基于Lucene的开源全文搜索引擎,提供...
3. **修改配置文件**:主要修改`elasticsearch.yml`,包括设置节点名称、集群名称、数据路径、内存分配等。 4. **启动服务**:使用`./bin/elasticsearch`启动Elasticsearch服务,或者通过systemd进行系统化管理。 ...
Elasticsearch的每个新版本都会带来性能优化、功能增强和问题修复。8.1.2版本可能包含了以下改进: 1. **性能提升**:通过优化内部算法和数据结构,提高了搜索、索引和查询的速度。 2. **稳定性增强**:修复了可能...
5. **配置文件**: 解压后的目录中包含一个名为`elasticsearch.yml`的配置文件,这是Elasticsearch的主要配置文件。你可以在这里修改集群名称、节点角色、网络设置、索引存储等参数。 6. **Java运行环境**: Elastic...
标题 "elasticsearch-...用户可以利用这个插件来优化Elasticsearch的搜索功能,提高搜索精度和用户满意度。在部署和使用这个插件时,需要注意与其他软件版本的兼容性,以及正确配置安全策略,确保系统的稳定和安全。
Elasticsearch 是一个分布式、全文检索的搜索引擎,广泛应用于数据分析、日志聚合和实时搜索场景。为了确保系统在高负载下仍能保持高效稳定,性能测试是至关重要的。本篇文章将围绕如何对 Elasticsearch 进行性能...
Elasticsearch(ES)是一款流行的开源全文搜索引擎,常用于日志收集、数据分析和实时搜索等场景。在处理中文文本时,分词器插件是必不可少的组件,它能够将中文字符串分解为有意义的词汇单元,以提升搜索的准确性和...
在Elasticsearch 5.2中,主要包含了对搜索性能的优化、增强的API支持以及稳定性改进等特性。 描述中提到“elasticsearch-PHP文档不多”,这表明可能在当时(或者现在)关于如何使用PHP与Elasticsearch进行集成的...
同时,你可以使用如Elasticsearch Monitoring或第三方工具来持续监控性能,并进行必要的优化。 10. **备份与恢复**:定期备份Elasticsearch的数据非常重要,可以使用`Snapshot and Restore`功能进行全量或增量备份...