一 前言

目前生产系统由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。

![网上借来图](https://upload-images.jianshu.io/upload_images/1737506-22b96a5bd4aec67d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
参考网上说明:
***上图是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容易忽视的集群配置的更多相关文章

  1. Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...

  2. ES2:ElasticSearch 集群配置

    ElasticSearch共有两个配置文件,都位于config目录下,分别是elasticsearch.yml和logging.yml,其中,elasticsearch.yml 用来配置Elastic ...

  3. ElasticSearch入门 第二篇:集群配置

    这是ElasticSearch 2.4 版本系列的第二篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

  4. openfire Hazelcast插件集群配置

    原文:http://blog.csdn.net/frankcheng5143/article/details/48708899 注意虽然hazelcast 官方已经有了3.5.2版本,但是openfi ...

  5. ElasticSearch(十):Elasticsearch集群配置

    我本地虚拟机配置了两台centos机器,分别安装了elasticsearch6.4.0版本,IP分别为:192.168.56.12, 192.168.56.13 分别修改两个机器上Elasticsea ...

  6. elasticsearch集群配置 (Tobe Continue)

    elasticsearch集群配置 (Tobe Continue)   准备 首先需要在每个节点有可以正常启动的单节点elasticsearch   elasticsearch集群配置仅需要在elas ...

  7. Elasticsearch 第九篇:集群配置与搭建

    h2.post_title { background-color: rgba(43, 102, 149, 1); color: rgba(255, 255, 255, 1); font-size: 1 ...

  8. Redis 3.0 Cluster集群配置

    Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...

  9. MongoDB高可用集群配置的方案

    >>高可用集群的解决方案 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性. ...

随机推荐

  1. 最近24小时记录:虚拟机与Wireshark 2.0

    最近24小时记录:虚拟机与Wireshark 2.0   (1)虚拟机如果NAT模式而无法联网,需要检查实体机中VMware的NAT服务是否开启. (2)从Wireshark 2.0版本开始,Wire ...

  2. 洛谷.4245.[模板]任意模数NTT(MTT/三模数NTT)

    题目链接 三模数\(NTT\): 就是多模数\(NTT\)最后\(CRT\)一下...下面两篇讲的都挺明白的. https://blog.csdn.net/kscla/article/details/ ...

  3. MySQL连接缓慢,打开缓慢原因

    问题状况:最近由于服务器变换了网段,导致IP地址变换,变化后使用MySQL客户端连接MySQL服务器和在客户端中打开表的速度非常慢(无论表的大小),甚至连接超时,但是直接登录到服务器在本地连接MySQ ...

  4. [NOIp2018提高组]赛道修建

    [NOIp2018提高组]赛道修建 题目大意: 给你一棵\(n(n\le5\times10^4)\)个结点的树,从中找出\(m\)个没有公共边的路径,使得第\(m\)长的路径最长.问第\(m\)长的路 ...

  5. mongodb更新数组元素中的字段,数组$占位符

    pppCodes为数组,PPPCode,expiredOn为数组元素中的字段 db.getCollection('users').findOneAndUpdate({ _id: userId, 'pp ...

  6. bzoj1026: [SCOI2009]windy数(数位dp)

    1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 8203  Solved: 3687[Submit][Sta ...

  7. Java 装饰模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述装饰(Decorator)模式的: 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替 ...

  8. list-循环小练习(作业已交未交)

    报错 list index out of range : 超出下标   这个错误是因为在写stus列表的时候写成了如下stus=['小花,未交'] ,但是取下标的时候取的是stus[1]:实际该列表中 ...

  9. JS的document.links函数使用示例

    ? <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title&g ...

  10. hibernate 的第一个工程

    一.什么是Hibernate? Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hiber ...