ElasticSearch用作全文检索,一直没有好好研究它的命令,每次使用的时候都要谷歌搜索,效率太低。 本文把一些特别常用的运维及操作命令整理一下,方便归类记忆 状态查询 获取所有_cat系列的操作 curl http://localhost:9200/_cat =^.^= /_cat/allocation /_cat/shards /_cat/shards/{index} /_cat/master /_cat/nodes /_cat/tasks /_cat/indices /_cat/indice
3.删除别名,一般纯删除别名使用的比较少,一般是别名重新绑定(删除和绑定为一个原子操作)
如下是将配置修改为true,分为几块。–user是elastic开启验证插件后再填写,_cluster/settings是访问的路径,不同路径代表不同请求配置。因为是put,后面-d指定传输的json内容。 curl -H "Content-Type: application/json" --user elastic:123456 -XPUT 172.16.5.35:9200/_cluster/settings -d'{"transient":{"cluster.routing.allocation.disable_allocation":true}}'
原文地址http://soft.dog/2015/09/08/elasticsearch-command/
查看集群状态 curl -XGET 'http://localhost:9200/_cluster/state?pretty' 查询所有索引 curl -XGET localhost:9200/_ca
Elasticsearch是一款开源的分布式搜索引擎,基于 JSON 开发而来,具有 RESTful 风格,基于 Apache Lucene 的基础上开发而成的
_cat系列提供了一系列查询elasticsearch集群状态的接口。你可以通过执行 curl -XGET localhost:9200/_cat
Elasticsearch 命令的一般格式是:REST VERBHOST:9200/index/doc-type— 其中 REST VERB 是 PUT、GET 或 DELETE。(使用 cURL -X 动词前缀来明确指定 HTTP 方法。)
_cat系列提供了一系列查询elasticsearch集群状态的接口。你可以通过执行
有朋友问有没有相关的一些查看ES的内存占用情况,是否健康之类的一些命令?所以今天分享一下之前总结的一些基础elasticsearch 命令,主要是查看节点,索引等占用内存,磁盘空间之类的情况。
查看集群状态 http://127.0.0.1:9200/_cluster/health 返回: {"cluster_name":"elasticsearch","status":"green","timed_out":false,"number_of_nodes":3,"number_of_data_nodes":3, "active_primary_shards":45,"active_shards":90,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":0, "delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0, "task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":100.0} 查询所有索引: http://172.0.0.1:9200/_cat/indices
在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。
仓库名为my_backup,fs仓库类型为共享文件系统,location指定一个本机目录作为快照保存路径
前面向读者介绍了Elasticsearch的安装和基本配置,同时也向读者介绍了Elasticsearch中的核心概念,相信读者对Elasticsearch的使用已经有了一个初步的了解,接下来,向读者介绍Elasticsearch中的REST命令,Elasticsearch提供了一整套强大的REST命令来操作集群。接下来向读者详细介绍这个东西。
系统版本:centos 7.3 安装方式 : yum ES版本环境: 6.0.1
下载完elasticsearch安装包以后,执行启动命令。 $ cd elasticsearch-6.3.0/bin $ ./elasticsearch 当然,提前要看一下java有没有安装,至少要j
1、 #删除指定索引 curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09 {"acknowledged":true} 2、#删除多个指定索引,中间用逗号隔开 curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09,acc-apply-2018.08.10 3、#模糊匹配删除 curl -XDELETE -u e
大家好,又见面了,我是你们的朋友全栈君。 ES的基本指令: 1. 查看es的集群状态: curl ‘IP:9200/_cat/health?v’ 注释:?v表示格式化输出 2. 查看节点列表
ES在索引数据时会生成分段(segment,一个segment就是一个完整的lucene倒排索引),分段是不可变的,如果分段中的数据被删除了,实际上只是打了一个删除标志。ES在查询时依然会查询到分段中这些有删除标志的文件,但是在返回结果时会将其过滤。只有在合并分段时,这些文件才会被真正地物理删除,并释放被占用的内存。
描述:health是一个简洁的,一行表示了来自/_cluster/health的相同的信息。
Elasticsearch通过使用JSON来作为沟通的数据格式,这对于开发者来说很友好,因为很多程序都支持JSON格式。比如js就不说了,Java也有fastjson,ruby什么的都自带json。 Elasticsearch中信息很多,如果单凭肉眼来寻找复杂数据之间的关系,是很困难的。因此cat命令应运而生,它帮助开发者快速查询Elasticsearch的相关信息。 _cat命令 通过使用_cat可以查看支持的命令: $ curl localhost:9200/_cat =^.^= /_cat/al
1 存在未分片索引 1)找出未分片的索引 curl xxx/_cat/shards?v | grep UNASSIGNED 2)查看未分配的原因 curl -XGET 'http://xxx/_clu
ES通过设置【节点的名字】和【集群的名字】,就能自动的组织相同集群名字的节点加入到集群中,并使很多的技术对用户透明化。 如果用户想要管理查看集群的状态,可以通过一些REST API来实现。 其他的ES文档翻译参考:Elasticsearch文档总结 REST API用途 ES提供了很多全面的API,大致可以分成如下几种: 1 检查集群、节点、索引的健康情况 2 管理集群、节点,索引数据、元数据 3 执行CRUD,创建、读取、更新、删除 以及 查询 4 执行高级的查询操作,比如分页、排序、脚本、聚合
仓库被注销时,ElasticSearch 只删除仓库存储快照的引用位置,快照本身没有被删除并且在原来的位置
⾼可⽤ ⾼可⽤(High Availability)是分布式系统架构设计中必须考虑的因素之⼀,它通常是指,通过设 计减少系统不能提供服务的时间。如果系统每运⾏ 100 个时间单位,会有 1 个时间单位⽆法提供服 务,我们说系统的可⽤性是 99%。
什么是ELK STACK: ELK Stack是Elasticserach、Logstash、Kibana三种工具组合而成的一个栈。ELK可以将我们的系统日志、访问日志、运行日志、错误日志等进行统一收集、存储分析和搜索以及图形展现。相比传统的CTRL+F或者数据库语句来进行数据查询,ELK支持分布式搜搜,数据量可达PB级别,检索速度更快速,接近实时处理,并且更智能,可以去掉一些没有特殊含义的词汇,比如“这,的,是”,还可以进行搜索补全与搜索纠错(想想在百度搜索的情景) LogStash: 负责日志的收集,并且可以输出到指定位置,如Redis、kafka、以及最主要的ElasticSearch中,通常会在所有需要收集日志的服务器上安装Logstash,然后由Logstash agent端发送到Logstash的Server端 ElasticSearch: 使用JAVA开发、基于Lucene搜索引擎库的全文搜索工具,通过RESTful API(一种接口设计规范,让接口更易懂)隐藏了Lucene原本的复杂性。实现了日志数据的分布式、实时分析,并且可以进行搜索补全与纠错等功能,是ELK最核心的组件。相比MySQL库和表的概念,在ES中把库叫做索引。 Kibana: 负责数据的展示与统计,是一个图形化的管理系统 ElasticSearch概念与工作流程介: 索引(index):文档的容器,是属性类似的文档集合,类似MySQL中的库或者表的概念,强烈建议同一类的数据放一个索引里 分片(shared):Elasticsearch默认将创建的索引分为5个shard(也可以自定义),每一个shard都是一个独立完整的索引,然后分布在不同的节点上 节点:站在用户角度来看并没有主节点概念,每个节点对用户来说都是一样的,都会响应请求,但是对于集群来说,会有一个主节点用于管理节点状态以及决定shard分布方式,还会周期性检查其他节点是否可用并进行修复。各节点是通过集群名称来判断是否属于同一节点。 在Elasticsearch中将文档归属于一种类型type,而这些类型存在于索引index中。用MySQL来举例看看他们的对应关系: Database->Table->Row->Column Indice->Type->Document->Field 安装Elasticsearch: 1、ElasticSearch默认工作在集群模式下,扩展性很强,并且支持自动发现。所以在实验环境中需要至少2台服务器来搭建,但是为了防止脑裂,建立使用基数台服务器。在部署ElasticSearch前需要先部署JAVA环境,所以第一步是安装JDK,这里偷懒使用yum安装了openjdk,生产环境还是建议用JDK的源码包(暂时不支持JDK 9)。 yum install java-1.8.0-openjdk.x86_64 2、下载ElasticSearch,官网地址是www.elastic.co(不是com),其每个Products下都有专门的文档用于参考。 下载tar包解压,然后进入config目录,该目录下除了有一个主配置文件elasticsearch.yml需要配置外,还有一个jvm.options文件用于JVM的调优 tar zxf elasticsearch-6.3.tar.gz cd elasticsearch-6.3/config jvm.options文件主要是JVM优化相关,关于垃圾回收这块使用默认配置就可以了,我们要调整的就是最大内存和最小内存的设置。通常设置为一样大小,具体的值可以设置为系统最大内存的一半或三分之二 -Xms1g #程序启动时占用内存的大小 -Xmx1g #程序启动后最大可占用内存的大小 3、修改ElasticSearch的配置,编辑elasticsearch.yml cluster.name: my-application #集群名称,相同集群名称的节点会自动加入到该集群 node.name: r1 #节点名称,两个节点不能重复 path.data: /path/to/data #指定数据存储目录 path.logs: /path/to/logs #指定日志存储目录
绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示部分数据因为某些原因不可用.
通过rest api添加检索数据,阅读官方文档可以发现,elasticsearch支持动态映射,但是其中有不少问题,且听慢慢详解。 本文主要讲述三点内容: 1 Elasticsearch常用的rest api 2 Elasticsearch使用bulk命令添加索引数据 ES REST API elasticsearch支持通过http请求响应服务,因此通过curl命令,可以发送http请求,并得到json返回内容。 常用的rest请求包括: 检查ES集群状态: curl localh
1. 简介 Elasticsearch 是一个高可靠开源全文搜索与分析引擎,可以让我们实时存储、查询、分析海量数据 具有安装方便、稳定可靠、快速、实时等特点,是当前流行的企业级搜索引擎 应用场景示例: 在线商店中的产品搜索,可以使用 Elasticsearch 来存储产品信息,让客户快速的搜索,可以方便的实现搜索时的自动完成功能 数据搜集,进行趋势分析、统计、监控异常现象 等等,使用 Logstash 采集数据,存储到 Elasticsearch 中,然后就可以搜索、聚合自己感兴趣的内容 2. 基本概念 C
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list sudo apt-get update && sudo apt-get install elasticsearch
logstash的配置中加入了 stdout {codec=>rubydebug} 是为了方便在终端监视信息(在实际应用中完全没有必要),经过一番刷屏,最终停了下来
删除index curl -XDELETE '172.16.40.4:9200/ {index}?pretty' 查看状态 curl 'localhost:9200/_cat/health?v' 节点
这里必须指定内容类型 Content-Type 为 application/json, 否则默认的类型可能会报错
用于查看Node级别的基本信息,选参数为pipelines、os和jvm,如下查看基本的os和jvm信息:
5 为什么需要Elasticsearch ---- 为什么是Elasticsearch es是一种在分布式环境中快速、可扩展的搜索和分析引擎。它建立在Apache Lucene上。Lucene定义如下 Apache Lucene是一种高性能、全功能的完全用java写的广西搜索引擎库。它是一种几乎适合于任何需要全文搜索,特别是跨平台的应用程序的技术 Elasticseaarch通过提供强大的RESTful API隐藏了Lucene背后的复杂性,使得查询索引数据更容易,并使其适用于任何编程语言。Elastics
今天的分享是关于如何使用Shell 脚本轻松搞定ES 的信息查询,通过不同的参数传入来获取相应的信息反馈。 相应的代码如下:
在上一篇文章CentOS7下ELK日志分析平台的简单搭建步骤的基础下,下面介绍filebeat和packetbeat的安装与使用
Easticsearch 的官方地址:https://www.elastic.co/cn/
松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程
在数据管理的世界里,备份和还原数据是重中之重的日常工作,特别是对于Elasticsearch这样的强大而复杂的搜索引擎。备份不仅可以用于灾难恢复,还可以在数据迁移、测试或者升级等场景中发挥重要作用。
快照(snapshot)是从正在运行的 Elasticsearch 集群中获取的备份。你可以获取单个索引(indices)或整个集群的快照,并将其存储在共享文件系统上的存储库中,并且有支持 S3、HDFS、Azure、Google 云存储等远程存储库的插件。
由于有时候需要将部分数据在不同的环境之间同步,需要在ES中迁移指定条件的数据,本例演示从测试环境A迁移某索引部分数据到测试环境B。
注意:云服务器需要设置安全策略放行9200,9300,9301,9302,9303,9304端口,否则访问失败;
继续 Es 客户端~今天我们来看看 high level rest client ~
前面我们介绍了一些REST API的基本约定,包括多个索引以及索引名称中的Date Math支持,本文我们来继续上文的话题,主要来看看公共参数和URL访问控制。
调研了在线和离线迁移两种比较有代表性的方案,两种方案都进行了测试演练,不过最终选择了离线的方式,原因有几点:
之前一直运行正常的数据分析平台,最近一段时间没有注意发现日志索引数据一直未生成,大概持续了n多天,当前状态: 单台机器, Elasticsearch(下面称ES)单节点(空集群),1000+shrads, 约200G大小。
The Elastic Stack, 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为ES, ES是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。
查询ott的索引文档的中的内容 curl -XPOST 'localhost:9200/ott/_search?pretty' -d ' { "query": { "match_all": {
领取专属 10元无门槛券
手把手带您无忧上云