
elasticsearch
文章平均质量分 50
vincent_hahaha
haha ha
展开
-
Elasticsearch reindex操作
test_1我想将的类型改为keyword,而且不想丢数据,因此使用Elasticsearch中的reindex来解决。原创 2024-05-27 11:45:09 · 471 阅读 · 0 评论 -
Elasticsearch克隆索引
我所使用的Elasticsearch的版本是基于7.17.7。需求是将某个ES的索引进行克隆。别名就可以搜到这个当前别名下的数据了。原创 2024-04-19 18:02:24 · 792 阅读 · 1 评论 -
kibana7.17.7 将数据导出csv文件
首先先配置内容如下,这里假设我的服务器ip地址为。原创 2024-03-01 12:07:42 · 1732 阅读 · 0 评论 -
elasticsearch7.17.9两节点集群改为单节点
将数据从node-23-1节点中迁移到node-83-1节点。但是现在node-83-1并没有加入到集群中,因此首先将node-83-1加入到node-23-1的集群。原创 2024-01-03 09:54:03 · 1881 阅读 · 0 评论 -
Elasticsearch 8.2:多节点集群搭建与Python连接
Elasticsearch搭建当前有两个服务器,ip分别为192.168.171.81和192.168.171.25,我们需要搭建一个es集群。首先下载elasticsearch-8.2.0-linux-x86_64.tar.gz,分别拷贝到这两台服务器中,进行解压。需要注意的是,我们要在启动Elasticsearch服务之前,就需要配置elasticsearch.yml。在第一台服务器修改config/elasticsearch.yml,内容如下:network.host: 192.168.17原创 2022-05-26 19:43:15 · 2424 阅读 · 0 评论 -
Elasticsearch8重置elastic用户密码
如果Elasticsearch忘记了超级管理员的密码,可以进行重置:./bin/elasticsearch-reset-password -u elastic -i-u表示需要修改的用户名-i 表示交互式,可以自己指定密码,默认的是系统自动分配。原创 2022-05-19 16:57:21 · 4903 阅读 · 0 评论 -
python连接Elasticsearch8.x
1. 不使用用户名密码连接Elasticsearch8.x默认会开启安全连接,因此我们在第一次安装配置Elasticsearch时需要将安全策略关闭。关闭方式就是修改elasticsearch.yml文件,在文件中添加:xpack.security.enabled: falsexpack.security.http.ssl.enabled: false使用pip install elasticsearch安装Python的关于es的依赖包,安装完成之后查看:>> pip list |原创 2022-05-09 17:39:02 · 6053 阅读 · 3 评论 -
elasticsearch 8.0 python使用API操作
1. 初始化esfrom elasticsearch import Elasticsearches = Elasticsearch([{'host': '192.168.171.81', 'port': 9200}], timeout=3600)2. 创建indexrequest_body={ "mappings": { "properties": { "name": {"type": "keyword"}, "age": {"t原创 2022-05-06 18:02:30 · 3103 阅读 · 0 评论 -
elasticsearch dump 教程
下载安装首先需要自行下载并安装node。然后下载elasticsearch-dump,elasticsearch-dump-master.tar.gz然后解压:tar -xvf elasticsearch-dump-master.tar.gz -C ~/app/然后执行sudo ln -s /home/iie4bu/app/elasticsearch-dump-master/bin/elasticdump /usr/local/bin/,这样就可以直接使用elasticdump了命令导出数据,包括原创 2021-02-24 15:23:17 · 2397 阅读 · 0 评论 -
最新elasticsearch 8.0 安装配置
2022 年 2 月 11 日,Elastic 8.0 正式发布。这里进行试用。首先下载elasticsearch-8.0.1-linux-x86_64.tar.gz,并解压修改配置文件elasticsearch.yml:cluster.name: elasticsearchnode.name: node-1node.attr.rack: r1path.data: /home/$USER/app/elasticsearch-8.0.1/data/path.logs: /home/$USER/原创 2022-03-02 13:48:32 · 8881 阅读 · 0 评论 -
logstash 从es导出csv
input { elasticsearch { host => "http://xx:9200" index => " " query => '{"query":{"bool":{}}}' }}output { csv { fields => ["",""] path => "/mnt/path.csv" csv_option => {"forch_quotes" => true} }}原创 2021-10-22 11:46:40 · 1543 阅读 · 0 评论 -
Document contains at least one immense term in field=“****“ (whose UTF8 encoding is longer than t
使用的es版本是6.2.3,在入数据的时候,有些数据没有入进去,报了这个错误:java.lang.IllegalArgumentException: Document contains at least one immense term in field="message" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped. Please correct the analyzer t原创 2021-07-14 10:09:22 · 2380 阅读 · 0 评论 -
elasticsearch 根据条件更新数据
数据样例:{"name":"jack","phone":"0"}{"name":"rose","phone":"0"}{"name":"nick","phone":"0"}需要把phone为0的数据修改为,phone为1,可以使用kibana语句进行更新:POST people/updata_by_query{ "script": { "source": "ctx._source['phone']='null'" }, "query":{原创 2021-05-13 11:33:35 · 3242 阅读 · 1 评论 -
elasticsearch 6.2.3 从零开始配置
安装配置JDK禁用交换分区永久禁用需要修改文件/etc/fstab将swap那一行注释掉执行sudo swapoff -a也可以暂时禁用交换分区修改/etc/security/limits.conf修改/etc/security/limits.conf文件内容,添加:* soft nofile 700000* hard nofile 700000* - memlock unlimited修改/etc/sysctl.conf添加内容vm.max_map_count=655360执行sy原创 2020-10-28 12:35:56 · 319 阅读 · 0 评论 -
Elasticsearch forceMerge操作
一个ES索引由若干个分片组成,一个分片有若干个Lucene分段,较大的Lucene分段可以更有效的存储数据。使用_forcemergeAPI 来对分段执行合并操作,通常,我们将分段合并为一个单个的分段:max_num_segments=1首先查看我们的index当前有多少个segment:GET _cat/segments/myindex?v&h=shard,segment,size,size.memory返回结果大约有300个segment条目数。执行forcemerge:POS原创 2020-10-27 19:15:14 · 9686 阅读 · 0 评论 -
elasticsearch6.2.3 冷热架构设计
随着集群规模越来越大,有一些冷索引不需要经常移动分片,因此把冷索引单独存储在冷节点中,把热索引(最新添加的数据)存储在热节点中。第一步 禁用rebalance主要是为了防止集群中已有的索引 rebalance 到其他节点PUT _cluster/settings{ "transient": { "cluster.routing.allocation.cluster_concurrent_rebalance":0 }}第二步:给节点加标识:node.attr.box_type关原创 2020-09-11 15:23:16 · 411 阅读 · 0 评论 -
elasticsearch 7.8.0 kibana 7.8.0安装部署
下载es、kibana在这里 下载elasticsearch 7.8.0 版本在这里 下载kibana7.8.0版本下载后的文件:elasticsearch-7.8.0-linux-x86_64.tar.gz 和 kibana-7.8.0-linux-x86_64.tar.gz将上面两个文件进行解压。配置Elasticsearch首先配置master节点,修改elasticsearch-7.8.0/config/elasticsearch.yml 内容如下:cluster.name: my-a原创 2020-08-27 17:32:38 · 2647 阅读 · 0 评论 -
Elasticsearch相关配置
bootstrap.memory_lockbootstrap.memory_lock: true锁定物理内存地址,防止es内存被交换出去,也就是避免es使用swap交换分区。频繁的交换,会导致IOPS变高。bootstrap.system_call_filter系统调用过滤检查。根据不同的操作系统,ES安装各种不同的系统调用过滤器(在Linux下使用seccomp)。这些过滤器可以阻止一些攻击行为。作为一个服务端进程,当由于某些系统漏洞被攻击者去的晋城的权限时,攻击者可以使用启动当前进程的用户权限执原创 2020-08-20 15:38:26 · 718 阅读 · 0 评论 -
elasticsearch之Recovery
什么是recovery?在elasticsearch中,recovery指的是一个索引的分片分配到另外一个节点的过程,一般在快照恢复、索引复制分片的变更、节点故障或重启时发生,由于master节点保存整个集群相关的状态信息,因此可以判断哪些分片需要再分配及分配到哪个节点,例如:如果某个主分片在,而复制分片所在的节点挂掉了,那么master需要另行选择一个可用节点,将这个主分片的复制分片分配到可用节点上,然后进行主从分片的数据复制。如果某个主分片所在的节点挂掉了,复制分片还在,那么master会主导将原创 2020-08-06 16:30:33 · 425 阅读 · 0 评论 -
Elasticsearch集群Red,分片无法恢复:cannot allocatebecause all found copies of the shard are either stale or c
问题在多次重启节点时,主副分片0出现了无法分配的问题。elasticsearch 使用 Allocation IDs 的概念,这是区分不同分片的唯一标识(UUIDS)。Allocation IDs存储在 shard 级元信息中,每个 shard 都有自己的Allocation ID,同时集群级元信息中记录了一个被认为是最新shard 的Allocation ID集合,这个集合称为 in-sync allocation IDs。如果由于网络或者其他原因,主副shard没有同步,那么副本的shard会将原创 2020-08-06 11:13:53 · 3977 阅读 · 0 评论 -
Elasticsearch: too many open files
elasticsearch在平衡分片的过程中,有一些分片尝试过5次移动分片之后,未成功,就会停止移动,查看分片信息,显示too many open files在elasticsearch日志中有类似下面的日志内容:... Caused by: java.io.FileNotFoundException: /esdata/elasticsearch/elasticsearch-cluster001/nodes/0/indices/.marvel-20 14.10.27/0/index/_fo.fdt (T原创 2020-07-31 11:02:28 · 913 阅读 · 0 评论 -
ES failed shard on node[XXX]: failed recovery, failure RecoveryFailedException XXX Too many openfile
今天集群挂掉了,状态一直是red,恢复节点之后,开始恢复分片数据,一直都很慢。直到所有分片都停止分配,但是此时集群状态还是red。原因是:某节点上的分片尝试恢复5次没有成功,然后就丢弃不管。导致该分片无法恢复。解决办法:POST /_cluster/reroute?retry_failed=true重新恢复失败的分片,一会集群就恢复为green。...原创 2020-07-29 15:38:52 · 1196 阅读 · 0 评论 -
elasticsearch中rollover的用法
rollover index的作用滚动索引一般可以与索引模板结合使用,实现按一定条件自动创建索引。设置Rollover之后,满足条件后,会自动新建索引,将索引别名转向新索引。当现有的索引太久或者太大时,往往使用rollover index创建新索引。新建索引模板,模板内容如下:PUT _template/mytemplate{ "index_patterns": "mylog*", ...原创 2020-01-14 17:28:26 · 5790 阅读 · 2 评论 -
elasticsearch mapping之fields
ES允许同一个字段有两个不同的类型,例如一个字段可以拥有keyword类型来进行聚合与排序,也可以拥有text来做全文检索。举例如下:PUT my_index{ "mappings": { "type": { "properties": { "city": { "type": "text", "fields": ...原创 2020-01-14 11:44:36 · 4649 阅读 · 0 评论 -
elasticsearch mapping之store
_source字段存储的是索引的原始内容,那store属性的设置是为何呢?es为什么要把store的默认取值设置为no?设置为yes是否是重复的存储呢?默认情况下,字段的值是可以被索引到的(即:index:true),但是没有被存储(即:store: false),而这就意味着该字段可以search到,但是原始字段的值确无法被检索。因为字段的值已经在_source中有一份了,这是默认存储的...原创 2020-01-13 16:57:57 · 440 阅读 · 0 评论 -
elasticsearch mapping之index
index: true 是否为该field 创建索引,体现出来就是该字段是否可被查询创建index:PUT my_index{ "mappings": { "type": { "properties": { "name": { "type": "keyword" }, "age": { ...原创 2020-01-13 15:44:13 · 1342 阅读 · 2 评论 -
elasticsearch mapping之dynamic
dynamic:true 动态映射这时默认的mapping参数,当我们往index添加一条数据时,es会自动为我们完善mapping例如我们创建一个index:PUT my_index{ "mappings": { "type": { "properties": { "name": { "type": "keyword" ...原创 2020-01-13 11:45:23 · 998 阅读 · 1 评论 -
Elasticsearch 集群平衡配置
集群配置分片分配过程是分片到节点的一个处理过程,他可能发生在初始恢复过程中,副本分配中,在平衡过程中,或当节点被添加或删除时。分片分配设置下面的这时用来控制分片的分配和回收cluster.routing.allocation.enable选项用来禁用或启用哪种类型的分片,可选的参数有:all:允许所有的分片被重新分配。primaries: 只允许主节点分片被重新分配。new_pri...原创 2020-01-12 17:04:48 · 1825 阅读 · 0 评论 -
Elasticsearch 节点发现
在Elasticsearch中,节点之间可以相互发现的,并把相同集群名称的节点统一成一个集群,那节点是如何发现的呢?在Elasticsearch内部,zen discovery是elasticsearch默认的内置的发现模块。它提供单播发现的方式,但是可以扩展为云环境或者其他形式的发现模式。zendiscovery是和其他模块集成的,例如,所有节点间正常的单播通信都是通过transport模块。...原创 2020-01-12 15:20:08 · 505 阅读 · 0 评论 -
Elasticsearch master节点的作用以及脑裂现象
Master节点Master节点的主要职责是和集群操作相关的内容,例如创建或删除索引、跟踪哪些节点是集群的一部分,并决定哪些分片分配给相关的节点。稳定的主节点对集群的健康是非常重要的。默认情况下任何一个集群中的节点都有可能被选为主节点。索引数据和搜索查询等操作会占用大量的CPU、内存、IO资源,为了确保一个集群的稳定,分离主节点和数据节点是一个比较好的选择。因此在配置中应该配置如下:no...原创 2020-01-12 15:08:32 · 7209 阅读 · 0 评论 -
Elasticsearch Transient与Persistent的区别
Elasticsearch可以动态设置某些属性,并且可以通过API来进行设置,包括transient和persistent两种方式,transient 临时:这些设置在集群重启之前一直会生效。一旦整个集群重启,这些设置就被清除。persistent 永久:这些设置永久保存,除非再次被手动修改。是将修改持久化到文件中,重启之后也不影响。例如:PUT /_cluster/settings...原创 2020-01-10 17:08:00 · 4374 阅读 · 0 评论 -
Elasticsearch优化
Elasticsearch检索原理关于ES和Lucene基础结构一些基本概念:Cluster:包含多个Node的集群Node:集群服务单元Index:一个ES索引包含一个或多个物理分片,它只是这些分片的逻辑命名空间Type:一个index的不同分类,6.x后只能配置一个type,以后将移除Document:最基础的可被索引的数据单元,如一个JSON串Shards:一个分片是一个...转载 2020-01-07 17:43:11 · 225 阅读 · 0 评论 -
Elasticsearch原理与调优
elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段面试官:想了解应聘者之前公司接触的 ES 使用场景、规模,有没有做过比较大规模的索引设计、规划、调优。解答:如实结合自己的实践场景回答即可。比如:ES 集群架构 13 个节点,索引根据通道不同共 20+索引,根据日期,每日递增 20+,索引:10 分片,每日递增 1 亿+数据,每个...转载 2020-01-02 11:13:02 · 306 阅读 · 0 评论 -
elasticsearch索引模板
创建索引模板索引模板就是创建好一个索引参数设置(settings)和映射(mapping)的模板,在创建新索引的时候指定模板名称就可以使用模板定义好的参数设置和映射。例如:PUT _template/mytemplate{ "index_patterns": "mylog*", "settings": { "number_of_shards": 5, "number_...原创 2019-12-31 15:12:59 · 180 阅读 · 0 评论 -
Elasticsearch索引分析
首先把一个文本块分析成一个个单独的词(term),为了后面的倒排索引做准备。然后标准化这些词为标准形式,提高它们的“可搜索性”,这些工作是分析器(analyzers)完成的。一个分析器(analyzers)是一个组合,实现以下三个功能:字符过滤器:字符串经过字符过滤器(character filter)处理,他们的工作是在标记化之前处理字符串。字符过滤器能够去除HTML标记,或者转换&...原创 2019-12-30 17:21:58 · 167 阅读 · 0 评论 -
ElasticSearch重启策略
关闭数据平衡当我们试图关闭一个节点时,ES会立即试图复制这个节点中的数据到集群中其他节点上,这个过程会造成大量的IO请求,在关闭该节点的时候可以通过设置一下参数来避免此问题的发生:curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'{ "persistent": { ...原创 2019-12-30 11:49:09 · 1003 阅读 · 1 评论 -
elasticsearch5.4.3、kibana分布式安装
设置elasticsearch两台机器:master ip 192.168.31.106slave ip 192.168.31.162master elasticsearch.ymlnode.name: node-1node.master: truenode.data: truenetwork.bind_host: 192.168.31.106network.pub...原创 2017-06-15 09:11:00 · 421 阅读 · 0 评论 -
安装 elasticsearch-head
修改 elasticsearch/config/elasticsearch.yml添加http.cors.enabled: truehttp.cors.allow-origin: "*"下载 elasticsearch-head 或者 git clone 到随便一个文件夹安装nodejscd /path/to/elasticsearch-headnpm install -g grun...原创 2017-06-15 11:34:00 · 95 阅读 · 0 评论 -
CentOS6.7安装elasticsearch5.4 以及kibana
1.安装jdk1.82.问题1:org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root解决方案:因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户建议创建一个单独的用户用来运行ElasticS...原创 2017-06-19 12:43:00 · 173 阅读 · 0 评论 -
spring elasticsearch5.4
pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd...原创 2017-07-01 13:41:00 · 208 阅读 · 0 评论