ES集群性能优化及维护

2023-11-02

ES集群性能优化及维护

注:集群 elasticsearch 版本为 v7.2.1。


1.ES索引刷新间隔设置:

	index.refresh_interval 刷新时间,默认1
	
	PUT index(_all)/_settings?preserve_existing=false

	{
	  "index.refresh_interval": "15s"
	}

2.ES索引备份数设置:

	index.number_of_replicas 备份数,默认1

	PUT index/_settings?preserve_existing=false

	{
	  "index.number_of_replicas": "1"
	}

3.ES索引分片数设置:

	index.number_of_shards:分片数,默认1,最大:1024
	注:在创建索引时设置!

	例:
		{
		  "settings": {
		    "index": {
		      "number_of_shards": 5,
		      "number_of_replicas": 1,
		      "refresh_interval": "5s",
		      "max_result_window": "50000"
		    }
		  }"aliases": {
		    "aliase": {}
		  },
		  "mappings": {}
		}

4.ES搜索返回结果数最大10000条数据设置:

	index.max_result_window: 10000 (默认)

	PUT _all/_settings?preserve_existing=false

	{
	  "index.max_result_window": "50000"
	}

5.ES搜索聚合最大桶数10000设置:

	search.max_buckets:10000(默认)

	方式①:配置文件 elasticsearch.yml
		增加配置项:

		# 单个查询最大的桶数,默认10000
		search.max_buckets: 50000


	方式②:动态修改该配置项:
		PUT _cluster/settings

		{
		  "transient": {
		    "search.max_buckets": "50000"
		  }
		}

6.ES集群设置删除性操作不允许使用_all及通配符设置:

	PUT /_cluster/settings

	{
	  "persistent": {
	    "action.destructive_requires_name": true
	  }
	}

7.ES集群总分片数不足,每台机器最大分片数设置:

	ES7.0.0版本以上,默认只允许1000个分片。
	查询ES集群节点分片数:  
		 _cat/allocation?v

	方式①:配置文件 elasticsearch.yml
		增加配置项:

		cluster.max_shards_per_node: 2000


	方式②:动态修改该配置项:
		_cluster/settings GET、PUT请求

		{
		  "transient": {
		    "cluster": {
		      "max_shards_per_node":2000
		    }
		  }
		}

	恢复之前默认:

		_cluster/settings GET、PUT请求

		{
		  "transient": {
		    "cluster": {
		      "max_shards_per_node":null
		    }
		  }
		}

8.ES集群API请求设置与配置文件设置优先级说明:

	集群属性设置方式:
		(1)API方式设置:
			a.临时设置(集群节点全部重启失效):

				{
				    "transient" : {
				        "xxx" : "yyy"
				    }
				}

			b.永久设置(集群节点全部重启依然生效):

				PUT /_cluster/settings
				{
				    "persistent" : {
				        "xxx" : "yyy"
				    }
				}

		(2)配置文件设置(集群节点全部重启依然生效):elasticsearch.yml

	优先级:

		transient cluster settings > persistent cluster settings >	settings in the elasticsearch.yml configuration file.

9.ES集群状态异常,一直出现UnassignedShards解决方案:

	①查询索引分片信息:
		GET _cat/shards?v
	        结果中查找:state 为 UNASSIGNED 的索引。

	②当索引无数据写入时可执行关闭、开启索引操作,重新触发索引分片:
		POST index/_close
		POST index/_open

        ③拓展:查询集群中分片未分配的原因:
		GET _cluster/allocation/explain?pretty

10.ES节点延迟分片分配-临时重启操作:

	index.unassigned.node_left.delayed_timeout 默认 1m

	PUT _all/_settings

	{
	  "settings": {
	    "index.unassigned.node_left.delayed_timeout": "5m"
	  }
	}

11.ES节点禁用分片转移-临时重启操作:

	PUT _cluster/settings

	{
	  "transient": {
	    "cluster.routing.allocation.enable": "none"
	  }
	}

	恢复分片转移:

	PUT _cluster/settings

	{
	  "transient": {
	    "cluster.routing.allocation.enable": "all"
	  }
	}

12.ES节点手动分片转移-永久下线操作:

	PUT _cluster/settings

	{
	  "transient": {
	    "cluster.routing.allocation.exclude._name": "node-1,node-2"
	  }
	}

	重新加入集群:

	PUT _cluster/settings

	{
	  "transient": {
	    "cluster.routing.allocation.exclude._name": ""
	  }
	}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ES集群性能优化及维护 的相关文章

  • 将 CSV 文件中的数字数据更改为文本

    下面的查询是抓取数据并创建一个 CSV 文件 我遇到的问题是名为 SPLE 的源在数据库中存储数字为 0 1 50 的数据 然而 在 CSV 中 这些数字被收集在 CSV 中 我希望在创建 CSV 时 这些数字能够代表诸如以下的单词 0 T
  • Elasticsearch 日期范围交集

    我在弹性搜索中存储类似以下信息的信息 timeslot start at 2013 02 01 timeslot end at 2013 02 03 鉴于我有另一个日期范围 例如 从用户输入给出 我想搜索相交的时间范围 与此类似 确定两个日
  • NEST 搜索整个文档 C# Elasticsearch

    我想使用 Nest 在 Elasticsearch 中查询超过一百万个文档 我的代码 var response client Search
  • 如何将停用词添加到 ElasticSearch 中的默认列表

    我想在默认值中添加更多单词 english 停止 例如 inc incorporated ltd 和 limited 我怎样才能实现这一目标 我当前创建索引的代码如下 谢谢 PUT my index settings analysis fi
  • query_string 和 multi_match 有什么区别?

    运行此查询时 query string query text fields field1 field2 multi match query text fields field1 field2 有什么不同 何时使用其中之一 何时使用另一个 q
  • Elasticsearch GET API 获取分片大小

    在 Elasticsearch 2 3 3 中 有没有办法使用返回 JSON 的 GET API 获取分片大小 目前我找到了以下几种获取shard size的方法 这两种方法都存在问题 recovery gt 使用 JSON 进行响应并提供
  • ElasticSearch - 定义自定义字母顺序进行排序

    我正在使用 ElasticSearch 2 4 2 通过 Java 的 HibernateSearch 5 7 1 Final 我在字符串排序方面遇到问题 我的应用程序的语言有变音符号 它们有特定的字母顺序 订购 例如 直接在之后L 追随O
  • 如何查询elasticsearch大于和小于?

    我想获取 1000 到 2000 之间的值 我尝试了以下查询 query bool filter range price gte 1000 price lte 2000 但这并没有给出令
  • Elasticsearch 文档的最大大小是多少?

    我读到有关 Lucene 仅限于 2Gb 文档的注释 对于可在 Elasticsearch 中建立索引的文档大小是否有其他限制 Lucene 内部使用字节缓冲区 该缓冲区使用 32 位整数进行寻址 根据定义 这限制了文档的大小 所以理论上2
  • ElasticSearch:从 Painless 脚本中的嵌套字段计算 arcDistance

    我需要计算 Painless 脚本内的弧距 但在这种情况下还没有找到访问 geo API 的方法 即 第一点作为参数传递给脚本 这意味着我只获得原始值 第二点是从嵌套文档中读取的 这意味着我无法使用doc myGeoField value
  • 我们如何查询Kibana?

    我们如何使用 REST API 请求 Kibana 来获取可视化请求 和回应 Like this 我想使用 NodeJS 来操作 Kibana 的结果 目的是我想以编程方式 通过 REST API 直接查询 Kibana 以获取 ES 请求
  • ElasticSearch:如何使用月份和日期范围过滤器查询日期字段

    目前 我已经知道如何从 时间戳 日期字段过滤日期范围 这很简单 range date gte 2015 11 01 lte 2015 11 30 但是 当您对基于月份的范围感兴趣时 如何过滤日期gte 02 22 and lte 03 21
  • Elasticsearch如何支持涉及多个文档的事务

    我使用elasticsearch和非规范化数据 比如 PUT my index user 1 name John Smith email email protected cdn cgi l email protection dob 1970
  • 将表从 postgres 数据库同步/导入到 elasticsearch 的正确方法是什么?

    我想将 postgres 数据库中的一些表导入到 Elastic search 中 并使这些表与 elastic search 中的数据保持同步 我看过 udemy 上的课程 还与一位对此问题有丰富经验的同事进行了交谈 以了解最好的方法是什
  • 如何使用 Fluent 为 Elasticsearch 添加时间戳和密钥

    我已经配置了 fluidd 和 elasticsearch 它们都工作正常 我正在跟踪一个文件 然后读取其数据并将其发布到elasticsearch 下面是json数据 time 2018 05 14T11 37 30 339593 Dat
  • ElasticSearch 匹配多个前缀术语

    我试图为 ElasticSearch 提供一个包含多个术语的查询 然后给出匹配的文档 其中指定的术语位于目标字段中的任何位置 这些术语可以是完整的单词或单词前缀 示例文档 msg 你好 我是一条短信 示例查询字符串 你好消息 你好 和 消息
  • 使用映射创建 Elasticsearch 索引

    我正在努力完成索引创建的简单任务 目标是使用分析器和字段映射创建索引 当我使用分析器创建索引时 我可以通过分析 api 调用与分析器对话 但是当我添加映射信息时 创建索引调用失败 并显示 未找到字段 field 的分析器 analyzer1
  • 包含 Elasticsearch 中的查询或部分匹配

    我正在寻找一个 amend 这个词 它可能在数据中以 amending amendment 甚至 amend 的形式出现 搜索此类单词的最佳方法是什么 我知道通配符可以实现这一点 但由于我的代码的其他部分 我被限制不使用它 有哪些不同的方式
  • 如何更新与elasticsearch中的查询匹配的多个文档

    我的文档最初只包含 url 已分析 和 respsize 未分析 字段 我想更新与 url 匹配的文档并添加新字段 类别 我是说 首先doc1 url http stackoverflow com users 4005632 mehmet
  • 非生产模式下的 Elasticsearch docker 容器可消除 vm.max_map_count=262144 要求

    如何配置 elasticsearch docker 容器 elasticsearch 7 5 0 以使用更少的资源并在非生产模式下运行 我想在 Jenkins 和我的桌面上运行容器 并且满足以下要求这个弹性文档 https www elas

随机推荐

  • 编译器(GNU & GCC & clang & llvm)

    前言 很多时候 出现一些类似GNU GCC CLANG LLVM等与编译器有关的名词的时候 都不太清楚它到底是干嘛的 理解这些东西后 对于xcode中很多配置型的需求修改起来都会得心应手 因此有必要了解透彻他们直接的关系与区别 1 GNU
  • 关于影视后期制作的就业市场调查报告

    关于影视后期制作的就业市场调查报告 21电商王绮悦 目 录 一 简介及发展前景 二 技能要求 三 工作内容 四 用人单位类型 五 发展路径及其所需具体技能 六 行业优势 七 行业劣势 八 自身分析 九 对暑期实践的规划 十 学习材料 十一
  • 2023暑期实习历程总结

    一 前言 Hello 大家好久不见 已经三个月左右没有更新了 那我这三个月在干什么呢 自2023年3月中旬开始到现在五月底这期间接近三个月的时间里 我一直在进行2023暑期实习的投递和面试 这期间投递了包括各大中厂 阿里 腾讯 蚂蚁 美团
  • Jmter的安装及使用

    Jmter的安装 浏览器下载安装解压 解压后控制台输入控制命令cmd 将解压后的jmter bin文件夹下的jmter bat拖入控制台 打开jmter 使用Jmter 在jmter中可以添加各种测试 这是一个抗压测试 各种功能测试可以百度
  • SIP协议-02 原理讲解

    文章目录 1 SIP实现机制 2 SIP网络元素 2 1 用户代理 2 2 代理服务器 2 3 重定向服务器 2 4 位置服务器 2 5 注册服务器 3 SIP中的几个重要概念 3 1 Messages 消息 3 2 Dialog 对话 3
  • PLSQL Developer安装配置教程(超详细)

    前言 首先要有oracle数据库或者有oracle服务器 才可以实现使用PLSQL Developer 工具连接到oracle数据库进行开发 1 下载 PLSQL Developer 链接 https pan baidu com s 1zV
  • 是科研人就要快!加速你的算法!

    在科研中 大多数论文其实还是看精度和效果的 对于速度其实没有那么高的追求 很多人用速度评价自己算法的复杂度很低 但实际上这是不准确的 当然在精度占优的情况下 能够提高速度 给自己的实验结果增彩 关于算法程序的加速 在动手前先要按照如下流程进
  • Linux下的iptables防火墙管理方法

    Linux下的iptables防火墙管理方法 文章目录 Linux下的iptables防火墙管理方法 1 什么是iptables 2 iptables命令参数 3 iptables策略 4 iptables地址转发 5 iptables端口
  • VUE中使用RSA加密

    一 安装 npm install jsencrypt save 二 在main js中引用依赖 导入RSA加密 import JSEncrypt from jsencrypt Vue prototype getRsaCode functio
  • 6种延时队列的实现方案

    延时队列的应用 什么是延时队列 顾名思义 首先它要具有队列的特性 再给它附加一个延迟消费队列消息的功能 也就是说可以指定队列中的消息在哪个时间点被消费 延时队列在项目中的应用还是比较多的 尤其像电商类平台 订单成功后 在30分钟内没有支付
  • 一级二级菜单slideToggle

  • 最短路径之迪克斯特拉(Dijkstra)算法

    何谓最短路径 顾名思义就是在一个图中 一个顶点到另外一个顶点的最短距离拉 那么这里有一点要注意 就是在网图中 边的权值各不相同 最短路径指的是俩点之间的连线权值最小 在非网图 边的权值都默认为1 中最短路径指的是边数最少的 从一个顶点到其余
  • 3D Vision--生成空间任意圆柱及任意直线

    contents 写在前面 几何原理 圆柱的方程 用于拟合已有圆柱 圆柱空间参数方程 用于生成圆柱 python代码 生成结果 完 写在前面 1 内容 如何生成空间任意圆柱体点云及其轴线 任意直线的生成也就是本文轴线的生成方式 2 环境 o
  • shell 命令 grep -v

    grep v shell命令中 grep命令 是对文本行的搜索命令 grep v就是反向文本行搜索 当控制台输出很多时 有很多是我们不想看到的 就可以用到grep v命令 举个栗子 ls l 结果如下 我们不想看到包含repair的行 执行
  • opencv轻松入门面向python下载_《OpenCV轻松入门:面向Python(博文视点出品)》(李立宗)【摘要 书评 试读】- 京东图书...

    本书采用Python语言 以案例的形式介绍了OpenCV中的常用算法及其使用方法 Python是一种高效的开发语言 使用Python调用OpenCV中的算法 可以快速地实现计算机视觉应用 于仕琪 OpenCV开源库在国内的早期推广者 Ope
  • oracle中 case when,Oracle CASE WHEN的用法

    CASE WHEN的两种表达形式 方式一 CASE WHEN D10 成功签收 THEN 1 WHEN D11 成功签收 THEN 1 ELSE NULL END WHEN 中间是用判断表达式 方式二 CASE D10 WHEN 成功签收
  • OSError: No such file or directory: 'C:\\Users\\2019\\AppData\\Roaming\\nltk_data\\corpora\\stopword

    nltk download
  • 在VS2017中使用Qt的ui界面添加控件后在cpp源文件中无法调用解决方法

    右键项目属性 找到 Qt Project Settings 将Show in Build Log 属性设置为否 点击确定回到cpp就可以使用ui调用部件了
  • python怎么测试uwsgi并发量_uWSGI使用介绍及性能测试结果

    uwsgi介绍 uWSGI是一个Web服务器 它实现了WSGI协议 uwsgi http等协议 Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换 要注意 WSGI uwsgi uWSGI 这三个概念的区分 1 W
  • ES集群性能优化及维护

    ES集群性能优化及维护 注 集群 elasticsearch 版本为 v7 2 1 1 ES索引刷新间隔设置 index refresh interval 刷新时间 默认1 PUT index all settings preserve e