ES容易忽视的集群配置
一 前言
目前生产系统由Solr转ES了,在这边就记录下在使用过程中容易忽视的配置吧,其实我也是才用,如果有什么错误的地方,多指正。
二、配置
1、ES的段合并是限速设置
默认是20MB/s ,如果是SSD磁盘建议增大:
```
PUT /_cluster/settings
{
"persistent" : {
"indices.store.throttle.max_bytes_per_sec" : "100mb"
}
}
```
如果临时导入数据先可以不要合并,再打开的时候合并:
```
PUT /_cluster/settings
{
"transient" : {
"indices.store.throttle.type" : "none"
}
}
```
导入数据完成none改成merge。
2、fieldData 数据缓存限制
ES配置中提到的FieldData指的是字段数据。当排序(sort),统计(aggs)时,ES把涉及到的字段数据全部读取到内存(JVM Heap)中进行操作。相当于进行了数据缓存,提升查询效率,而且默认是不清除的,容易造成OOM。

参考网上说明:
***上图是ES的JVM Heap中的状况,可以看到有两条界限:驱逐线 和 断路器。当缓存数据到达驱逐线时,会自动驱逐掉部分数据,把缓存保持在安全的范围内。当用户准备执行某个查询操作时,断路器就起作用了,缓存数据+当前查询需要缓存的数据量到达断路器限制时,会返回Data too large错误,阻止用户进行这个查询操作。 ***
```
PUT _cluster/settings
{
"persistent" :
{
"indices.breaker.fielddata.limit":"50%",
"indices.breaker.request.limit":"40%",
"indices.breaker.total.limit":"70%"
}
}
```
###3、去掉操作索引匹配符号
```
PUT /_cluster/settings
{
"persistent" : {
"action.destructive_requires_name":true
}
}
```
禁止使用通配符,禁止的目的是为了误删除。
默认情况下,可以通过以下方法删除所有的索引:
```
curl -XDELETE http://localhost:9200/_all
curl -XDELETE http://localhost:9200/*
```
_all ,* 通配所有的索引 。
如果需要一次删除多个索引 可以通过将两个索引名都写进去,中间用逗号分隔。
比如:
``` curl -XDELETE http://localhost:9200/twitter,my_index ```
3其他说明
ES关闭一个索引的速度非常快,尝试过关闭一个1T大小的索引,耗时只要十几秒,打开也差不多的时间,只是在打开的时候回存在着集群瞬间变红,因为分片的分配需要过程。
ES容易忽视的集群配置的更多相关文章
- Ubuntu 14.04中Elasticsearch集群配置
Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...
- ES2:ElasticSearch 集群配置
ElasticSearch共有两个配置文件,都位于config目录下,分别是elasticsearch.yml和logging.yml,其中,elasticsearch.yml 用来配置Elastic ...
- ElasticSearch入门 第二篇:集群配置
这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
- openfire Hazelcast插件集群配置
原文:http://blog.csdn.net/frankcheng5143/article/details/48708899 注意虽然hazelcast 官方已经有了3.5.2版本,但是openfi ...
- ElasticSearch(十):Elasticsearch集群配置
我本地虚拟机配置了两台centos机器,分别安装了elasticsearch6.4.0版本,IP分别为:192.168.56.12, 192.168.56.13 分别修改两个机器上Elasticsea ...
- elasticsearch集群配置 (Tobe Continue)
elasticsearch集群配置 (Tobe Continue) 准备 首先需要在每个节点有可以正常启动的单节点elasticsearch elasticsearch集群配置仅需要在elas ...
- Elasticsearch 第九篇:集群配置与搭建
h2.post_title { background-color: rgba(43, 102, 149, 1); color: rgba(255, 255, 255, 1); font-size: 1 ...
- Redis 3.0 Cluster集群配置
Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...
- MongoDB高可用集群配置的方案
>>高可用集群的解决方案 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性. ...
随机推荐
- SQL总结——存储过程
SQL总结(五)存储过程 概念 存储过程(Stored Procedure):已预编译为一个可执行过程的一个或多个SQL语句. 创建存储过程语法 CREATE proc | procedure pro ...
- [算法]Collebarative Filtering
挖坑 https://en.wikipedia.org/wiki/Collaborative_filtering
- Java并发编程(五)-- Java内存模型补充
前面我们已经介绍了:当对象和变量存储到计算机的各个内存区域时,必然会遇到的两个问题及解决方法 共享对象的可见性-- 解决方法:使用java volatile关键字 共享对象的竞争现象 -- 解决方法: ...
- nodejs,mongodb不同时区问题
问题:不同国家,使用不同时区,而服务器代码却在国内,跨时区日期不同,根据日期查询,查询不到数据了 1.mongodb存储的new Date()是UTC时间,也就是0时区的时间,世界标准时间 2.参考m ...
- 使用ssm框架实现简单网页注册功能
1.注册Spring配置文件,在web应用启动时创建Spring容器(注册listener). <!-- 注册spring配置文件 --> <context-param> &l ...
- [P3957][NOIP2017]跳房子 (DP+二分/队列?)
看到GREED_VI大佬在打这题 我这个蒟蒻偷偷看一眼洛谷上目前普及难度里最难的一题 题目还是能看懂的,不想道路游戏那题,我完全不知道题目是什么意思…… GREED_VI大佬第一次用的是二分的思想,于 ...
- 将Django部署到Linux
https://cloud.tencent.com/developer/labs/lab/10372
- python之函数联系
----------------------作业一 # 有两个列表,分别存放来老男孩报名学习linux和python课程的学生名字# linux=['钢弹','小壁虎','小虎比','alex','w ...
- 首席技术官应该考虑的网络安全问题 IT大咖说 - 大咖干货,不再错过
首席技术官应该考虑的网络安全问题 IT大咖说 - 大咖干货,不再错过 http://www.itdks.com/dakalive/detail/5523
- .NET分布式缓存Redis从入门到实战
一.课程介绍 今天阿笨给大家带来一堂NOSQL的课程,本期的主角是Redis.希望大家学完本次分享课程后对redis有一个基本的了解和认识,并且熟悉和掌握 Redis在.NET中的使用. 本次分享课程 ...