
es
文章平均质量分 54
kiraraLou
这个作者很懒,什么都没留下…
展开
-
【elasticsearch】elasticsearch es读写原理
今天来学习下 es 的写入原理。原创 2023-02-20 15:33:29 · 3530 阅读 · 0 评论 -
【elasticsearch】修改es集群的索引副本数量
前言最近海外es集群进行调整,从3节点变成了单节点。所以需要将集群模式改为单点模式,并需要将es 集群的全部索引副本个数改为0,不然会有很多未分配的分片,导致集群状态为 yellow。具体实践1. 先将现有的index的副本数量为0个此步骤是为了解决现有的索引副本数。PUT */_settings{"index" : {"number_of_replicas" : 0}}2. 创建模板匹配所有index,并设置副本数量为0此步骤是为了解决新增的索引副本数PUT _template原创 2022-03-15 10:48:08 · 9811 阅读 · 2 评论 -
【elasticsearch】 Failed: 1: this action would add [6] total shards, but this cluster currently has [2
报错信息[WARN ][o.e.x.m.e.l.LocalExporter] [es03.kpt.rongtime.aliapse5.id] unexpected error while indexing monitoring documentorg.elasticsearch.xpack.monitoring.exporter.ExportException: RemoteTransportException[[es01.kpt.rongtime.aliapse5.id][10.107.0.247:29原创 2022-02-15 17:59:24 · 1640 阅读 · 0 评论 -
【kibana】问题整理 kibana 7.x No indices match pattern “apm-*“
前言新搭建的ES 7.x集群,点击discover有报错,版本是7.4.0问题描述点击discover,无反应,报错内容如下:问题原因原因是 apm-* 这个 index pattern 还没有对应的索引,你可以在 management->index pattern 里面设定其他的 pattern 为默认,不要用这个 apm解决方法设置任意一个索引为默认即可。...原创 2022-01-19 13:10:38 · 2073 阅读 · 0 评论 -
【python】python使用requests 发送请求
POSTimport requestsimport jsondef post_request(): headers = {'content-type': "application/json"} url = "http://127.0.0.1:9200/test/_delete_by_query" data = { "query": { "match_all": {}原创 2021-12-03 10:05:44 · 518 阅读 · 0 评论 -
【elasticsearch】问题解决:Remote responded with a chunk that was too large. Use a smaller batch size
一、前言在使用reindex的方式来进行es索引跨集群迁移时,遇到的报错,这里整理并记录一下。二、问题描述es索引迁移命令:curl -u admin:admin -XPOST "http://10.1.36.14:9200/_reindex" -d '{ "source": { "remote": { "host": "http://10.11.36.142:29200", "username": "admin", "password": "原创 2021-11-05 13:50:37 · 723 阅读 · 0 评论 -
【elasticsearch】es 5.x 索引跨集群迁移实战
一、前言最近需要对es集群进行拆分,所以部分索引需要迁移到新集群。这里新集群的版本与老集群保持了一致。这里我们选择使用_reindex 方法来进行索引的迁移。注意:5.X版本后新增_reindex API 。Reindex可以直接在Elasticsearch集群里面对数据进行重建。并且支持跨集群间的数据迁移。旧集群版本:5.6.4新集群版本:5.6.4二、实战1. 设置白名单在目标集群的elasticsearch.yml配置文件,设置远程集群的白名单,添加如下配置:# rein原创 2021-11-02 14:02:28 · 914 阅读 · 0 评论 -
【elasticsearch】转载 Elasticsearch7.x 之Reindex数据迁移详解
转载地址:https://rstyro.github.io/blog/2020/10/23/Elasticsearch7%E4%B9%8BReindex%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E8%AF%A6%E8%A7%A3/一、前言ES在创建好索引后,mapping的properties属性类型是不能更改的,只能添加。如果说需要修改字段就需要重新建立索引然后把旧数据导到新索引。二、Reindex5.X版本后新增_reindex API 。Reindex可以直接在原创 2021-11-02 13:44:14 · 731 阅读 · 0 评论 -
【elasticsearch】elasticsearch 集群滚动重启
前言:在某些情况下,可能需要执行全集群重新启动或滚动重新启动。在完全集群重新启动的情况下,是关闭并重新启动集群中的所有节点,而在滚动重新启动的情况下,一次只关闭一个节点,因此服务保持不中断。curl -s -u admin:DYn^sMz8qmF6Z*qd -XPUT 10.11.36.144:29200/_cluster/settings -d '{ "transient" : { "cluster.routing.allocation.exclude._ip" : "10.11.36.144"原创 2021-10-27 10:24:50 · 1360 阅读 · 0 评论 -
【elasticsearch】elasticsearch ES磁盘分配不均问题及解决方法
一、前言:最近发现公司es集群磁盘分布的很不均匀,有个节点磁盘使用在36%,而另外两台的磁盘使用率在70%。这样带来的后果,随着时间的推移,如果另外两台的磁盘达到一定的阈值后,新创建的索引无法在这两台机器上被正确分配,导致集群出现有索引shard未分配的情况。并且集群状态为yellow。二、问题原因:查询es文档才发现,es自动均衡是按照分片数来分配的,并不是按照磁盘空间使用率来分配的。造成这种问题的原因:个别索引太大,并且设置的shard个数不合理。如上图一个单副本70G的索引,只原创 2021-10-27 13:40:03 · 7572 阅读 · 1 评论 -
【elasticsearch】ELASTICSEARCH 中暂时移除一个节点,然后重新加入集群
一、前言:遇到一个需求需要对线上ES集群进行角色拆分,目前是节点即是master 也是 data,集群是对外提供服务,操作需要谨慎,所以对于滚动重启ES实例比较重要,再将ES实例重新上线。ES提供了非常便利的API来支持这一点。目前的方案是:将需要重启的某个ES实例上的数据都迁移到别的节点,然后在重启节点,待数据恢复后,在将节点允许分配副本。具体方案:es集群示例:比如我们有这样一个ES集群,selk21节点 需要临时下线:步骤1:将该节点动态排除es集群这将导致Elasticsearch原创 2021-10-27 10:54:42 · 1656 阅读 · 0 评论 -
【elasticsearch】elasticsearch节点异常崩溃问题处理
一、前言:今天对es集群做扩容节点操作,新增了一台节点,启动节点后,没过15分钟,监控报警节点es服务端口异常。 第一次看日志并没有发现太明显的错误,于是并没有做操作,直接将该节点重新启动。结果不到10分钟时间,节点又崩溃了,看来得排查下问题原因。二、环境信息:内存:128Gcpu: 40Ces版本:5.6.2节点只部署了es服务。es JVM配置信息:-Xms32g-Xmx32g-XX:+UseG1GC-XX:+ExplicitGCInvokesConcurrent-XX:原创 2021-10-18 20:08:01 · 3705 阅读 · 0 评论 -
【kibana】 kibana报错内存溢出 CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
一、前言:今天收到kibana服务告警。环境信息:es7,4kibana 7.4二、报错内容:<--- Last few GCs --->[2800:0x326ea90] 95392 ms: Mark-sweep 799.2 (1133.8) -> 799.2 (1085.3) MB, 150.5 / 0.0 ms (average mu = 0.710, current mu = 0.000) last resort GC in old space request原创 2021-10-14 15:18:44 · 1668 阅读 · 0 评论 -
【elasticsearch】转载 Elasticsearch Breaker CircuitBreakingException Parent Data Too Large Real Usage
参考转载:本文作者: jiankunking本文链接: https://jiankunking.com/elasticsearch-breaker-circuitbreakingexception-parent-data-too-large-transport-request-real-usage.html前言:今天收到告警,发现es集群一个节点服务挂掉了,于是排查一下日志。报错内容:报错内容触发了父熔断器。Caused by: org.elasticsearch.common.breaker原创 2021-10-11 16:20:14 · 1046 阅读 · 0 评论 -
【elasticsearch】es的RestClientAPI请求超时问题:java.lang.RuntimeException: error while performing
前言:最近需要对es集群定时进行索引的segment合并,使用java 的restClientAPI进行操作,对于一些大索引进行合并时,默认的连接时间肯定是不够的,导致请求超时。这里整理并记录一下。es版本:7.4es LOW RestClientAPI 7.4问题描述:在JAVA中使用elasticsearch的RestClient API合并es大索引的segment时,出现TimeoutException。ERROR [https-jsse-nio-443-exec-4] 2020原创 2021-10-09 16:27:35 · 3003 阅读 · 0 评论 -
【elasticsearch】elasticsearch查询报错问题整理
问题一:1. 业务方:监管科技2. 报错内容:Caused by: org.elasticsearch.search.query.QueryPhaseExecutionException: Result window is too large, from + size must be less than or equal to: [20000] but was [83440000]. See the scroll api for a more efficient way to request larg原创 2021-09-18 16:08:06 · 2661 阅读 · 0 评论 -
【Elasticsearch7.x】(7) elasticsearch索引模板
sdfdsf原创 2021-09-08 19:03:44 · 1602 阅读 · 0 评论 -
【Elasticsearch7.0】之日志配置(转载)
前言最近发现线上的es集群日志数量有点多,且过于冗余。于是今天对es的日志的配置重新配置一下。我这边的配置就是参考了下文。参考链接:http://www.chaiguanxin.com/articles/2019/05/30/1559202725366.html日志配置es使用log4j2来处理日志。可以在log4j2.properties文件里面修改日志的一些配置。es提供了3个属性,分别是:${sys:es.logs.base_path}, ${sys:es.logs.cluster_name}原创 2021-09-10 10:31:30 · 1805 阅读 · 0 评论 -
【elasticsearch】elasticsearch7.x 配置优化和 JVM调优设置及优化前后对比
前言最近要对公司的es集群进行一些优化操作,这里整理并记录一下优化的过程,以及优化前后对比。环境信息es 7.4 版本master节点 3台data节点 10台jdk 版本 11master 节点和 data 节点角色是分离。节点数量共 13 台。优化操作主要是针对 ES 集群本身的一些配置和 JVM级别的优化配置。一、jvm.options之前默认的是 cms + parNew垃圾回收器。替换为G1 垃圾回收器。去掉:-XX:+UseConcMarkSweepGC-XX:C原创 2021-08-13 11:53:04 · 3546 阅读 · 5 评论 -
【elasticsearch7】elasticsearch7.x安装部署
下载es7.12cd /optwget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gztar zxf elasticsearch-7.12.0-linux-x86_64.tar.gz添加es用户es启动需要es用户useradd eschown es:es -R elasticsearch-7.12.0ln -s elasticsearch-7.12.原创 2021-07-09 16:28:09 · 269 阅读 · 0 评论 -
【elasticsearch】memory locking requested for elasticsearch process but memory is not locked
解决方法(开启bootstrap.memory_lock:):修改文件/etc/elasticsearch/elasticsearch.yml,上面那个报错就是开启后产生的,如果开启还要修改其它系统配置文件bootstrap.memory_lock: true修改文件/etc/security/limits.conf,最后添加以下内容。* soft nofile 65536* hard nofile 65536* soft nproc 32000* hard nproc 320原创 2021-07-09 15:52:40 · 1788 阅读 · 0 评论 -
【elasticsearch7】{“error“:“Content-Type header [application/x-www-form-urlencoded] is not supported“
报错内容执行内容:curl -X PUT "172.31.254.22:9200/test" -d '{ "mappings": { "properties": { "name": { "type": "text" }, "age": { "type": "long"原创 2021-07-09 15:18:52 · 718 阅读 · 0 评论 -
【Elasticsearch】(6) 基础但非常有用的功能之一:别名
1、别名分类别名在Elasticsearch中有两种分类。1.1 索引别名官方释义: 索引别名可以指向一个或多个索引,并且可以在任何需要索引名称的API中使用。 别名为我们提供了极大的灵活性。它们允许我们执行以下操作:1)在正在运行的集群上的一个索引和另一个索引之间透明切换;2)对多个索引进行分组组合(例如,lastthreemonths的索引别名:是过去3个月索引 logstash201903, logstash201904, logstash_201905的组合);3)在索引中的文档子集上创转载 2021-07-07 15:49:29 · 564 阅读 · 0 评论 -
【elasticsearch】笔记
磁盘高水位对节点的影响Elasticsearch 不会跨节点的数据路径平衡分片。单个路径中的高磁盘使用率会触发整个节点的 high disk usage watermark。如果触发,即使节点的其他路径有可用磁盘空间,Elasticsearch 也不会向节点添加分片。如果您需要额外的磁盘空间,我们建议您添加新节点而不是额外的数据路径。...原创 2021-07-07 15:41:09 · 129 阅读 · 0 评论 -
【elasticsearch7.x】(5) 字段⾃动添加功能是否关闭
"dynamic": "strict"可以实现字段不符合要求就拒绝写入的需求,这种拒绝是整个文档都拒绝"dynamic": "strict" 在6.2.4上可以防止字段名错误而新增字段的情况, 它会抛出异常。PUT your_index{ "mappings":{ "doc": { "dynamic": "strict", "properties": { ... } } }}...原创 2021-07-06 15:33:59 · 219 阅读 · 0 评论 -
【elasticsearch7】(4) 使用 ignore_above 限制字符串长度
前言创建 mapping 时,可以为字符串(专指 keyword) 指定 ignore_above ,用来限定字符长度。超过 ignore_above 的字符会被存储,但不会被索引。注意,是字符长度,一个英文字母是一个字符,一个汉字也是一个字符。在动态生成的 mapping 中,keyword类型会被设置ignore_above: 256。ignore_above 可以在创建 mapping 时指定。验证 ignore_above 效果PUT my_index{ "mappings" :原创 2021-07-05 13:40:25 · 1697 阅读 · 0 评论 -
【elasticsearch】(3) 节点角色类型
前言文章基于ES7.x 进行的。一、节点角色通过node.roles在 中设置来定义节点的角色elasticsearch.yml。如果您设置了node.roles,则节点只会被分配您指定的角色。如果您没有设置node.roles,节点将被分配以下角色:masterdatadata_contentdata_hotdata_warmdata_colddata_frozeningestmlremote_cluster_clienttransformMaster-eligible原创 2021-07-05 11:04:38 · 902 阅读 · 2 评论 -
【elasticsearch】(2) copy_to
前言:copy_to参数允许您将多个字段的值复制到一个组字段中,然后可以将其作为单个字段进行查询。案例:例如,可以将first_name和last_name字段复制到full_name字段中,如下所示:PUT my-index-000001{ "mappings": { "properties": { "first_name": { "type": "text", "copy_to": "full_name" },原创 2021-07-02 19:10:21 · 664 阅读 · 2 评论 -
【elasticsearch】(1) 动态模板 Dynamic templates
前言动态模板允许您在默认动态字段映射规则之外更好地控制 Elasticsearch 如何映射您的数据。可以通过将 dynamic 参数设置为 true 或 runtime 来启用动态映射。 然后,可以使用动态模板来定义可应用于基于匹配条件动态添加的字段的自定义映射:match_mapping_type 对 Elasticsearch 检测到的数据类型进行操作matchh(匹配) 和 unmatchh(不匹配) 使用模板匹配字段名称path_match(路径匹配) and path_unmatch原创 2021-07-02 18:49:07 · 878 阅读 · 1 评论 -
【elasticsearch】cannot be nested under a type [_doc] unless include_type_name is set to true.
前言最近要将数据从es5集群迁移到es7集群上,结果遇到了一些错误,这里记录并整理一下。代码修改type类型修改es7 集群默认只有一个type 名字是_doc创建索引代码如下:def create_index(index): print("开始创建索引") es.indices.create(index=index, body=mappings) print("创建索引成功")mapping 如下:mappings = { "mappings": {原创 2021-06-25 11:20:15 · 817 阅读 · 0 评论 -
【elasticsearch】elasticsearch集群占用太多虚拟内存(VIRT)的问题?
前言es集群 虚拟映射内存高?ES5.x以后,对于lucene索引文件改为mmap的方式进行访问,当索引被打开以后,ES会讲文件映射到虚拟内存空间,但并不会读取到物理内存里。 只有索引文件被访问的时候,才会通过os将读取的部分从磁盘page in到物理内存。 由于虚拟内存并不是实际的物理内存占用,并且os本身会管理映射内存的的page in/page out,看似很大很吓人的虚拟内存占用其实并无任何问题。 并且在物理内存足够的情况下,这种方式通常可以提升ES对索引文件的访问速度。参考:http://原创 2021-06-22 17:44:56 · 1225 阅读 · 1 评论 -
【Elasticsearch】elastic search 字符串类型(text和keyword)
fields一个字符串字段可以映射为text字段用于全文本搜索,也可以映射为keyword字段用于排序或聚合。PUT my_index{ "mappings": { "_doc": { "properties": { "city": { "type": "text", "fields": { "raw": { "type": "keyword",原创 2021-06-17 16:25:15 · 2010 阅读 · 0 评论 -
[Impala]impala监控任务 用es+grafana实现监控
一、前言目前要对impala执行的任务进行监控,目前采用的是用python每10分钟请求Cloudera Manager的数据,然后发送到es,配合grafana进行展示。大致的架构图如下:二、impala 任务REST API首先要知道CM 关于 impala 任务的rest api是什么才能进行后续的工作。1. cm的rest api 文档通过cm界面可以很快的找到cm的api文档2. 在api文档中找关于impala 的api下面这些就是和impala 相关的api/clust原创 2021-05-12 11:57:51 · 3616 阅读 · 3 评论 -
es 分组聚合返回结果不正确
问题现象在对es做group by分组聚合查询时,数据返回不正确,只能显示十条。但是应该有14个分组。查询语句:GET /hadoop_impala*/_search{ "aggs": { "qyeryTypes": { "terms": { "field": "hostId" } } }}查询结果:"aggregations": { "qyeryTypes": { "doc_count_error_uppe原创 2021-04-29 13:24:17 · 2282 阅读 · 0 评论 -
python操作es
连接es# 初始化esfrom elasticsearch import Elasticsearches = Elasticsearch( ['10.11.3.63', '10.11.3.64', '10.11.3.65'], port=9200, sniff_on_start=True, sniff_on_connection_fail=True, sniffer_timeout=60 )插入数据es.in原创 2021-04-28 16:22:18 · 365 阅读 · 0 评论 -
elastic search text类型字段不支持聚合查询,及解决方案
问题现象在对es的数据做聚合操作时,报错。报错语句:curl -XPOST http://10.11.3.63:9200/hadoop_impala_2021-04/_search -d '{ "aggs": { "qyeryTypes": { "cardinality": { "field": "queryType" } } }}'报错内容{ "error": { "root_cause": [{ "type":原创 2021-04-26 16:37:23 · 3660 阅读 · 0 评论 -
Kibana查询语法
根据某个字段查询精确匹配: agent:"Mozilla/5.0"如果不带双引号,只要包含指定值就可以搜索到 agent:Mozilla/5.0如果是数值类型没有以上区别数组范围查询指定区间: response:[100 TO 200]大于等于指定数值: response:[201 TO *]小于等于指定数值: response:[* TO 200]大于指定数值:response:{10 TO 20}注意:TO 必须是大写, [ ] 表示端点数值包含在范围内,{原创 2021-04-22 15:59:46 · 4834 阅读 · 0 评论 -
es 查询
前提ES在查询过程中比较多遇到符合查询,既需要多个字段过滤也需要特殊情况处理。bool(组合查询)must 所有的语句都 必须(must) 匹配,与 AND 、= 等价。must_not 所有的语句都 不能(must not) 匹配,与 NOT 、!= 等价。should 至少有一个语句要匹配,与 OR 等价。字段介绍类型must文档必须匹配must查询条件数组should文档应该匹配should子句查询的一个或多个数组must_not文档不能匹配原创 2021-04-22 14:03:38 · 359 阅读 · 0 评论 -
[es]elasticSearch常用的api
查看es的全部索引 curl -XGET 'localhost:9200/_cat/indices?v&pretty'查看es的健康状态curl localhost:9200/_cat/health?v原创 2021-04-19 13:57:25 · 322 阅读 · 0 评论