【ELK 学习】ElasticSearch

ELK:ElasticSearch存储,Logstash收集,Kibana展示
版本较多,使用时需要版本匹配,还需要和mysql版本匹配(elastic官网给了版本对应关系)

本次使用的版本es6.8.12
filebeat 轻量级的数据收集工具

ElasticSearch为文档搜索产生的
分布式文档搜索,lucene单线程搜索的组合
ElasticSearch 除了java也支持python

0.作用

大数据时代产生的应用:
1.分布式存储:hdfs
2.分布式计算:
离线计算:MapReduce、hive
实时计算:spark、Flink
3.分布式搜索引擎:ElasticSearch

海量数据、近实时处理

1. 核心概念

Index,Type,Document
对应到数据库:
数据库database=Index
表table=Type
一条记录row=Document

Index下面可以存储不同的type,但是大部分要相同,type是作为一个字段存储的(7.0之后不建议使用)
8.0之后一个index只能存储相同 type 的数据

shard,replica
hdfs的存储是物理切块(block)
primary shard 切片存储
replica shard 容错存储,每个切片都有一个容错副本
在这里插入图片描述
切片自己和容错存在不同的服务器(节点)上(部署集群)

2. 下载安装

windows版本
bin目录下,elasticsearch.bat点击启动

3. es的基本操作

Elasticsearch提供了基于JSON的DSL来定义查询
DSL语法
常用指令1
常用指令2

获取所有_cat命令

curl -X GET localhost:9200/_cat

检查集群健康状况

curl -X GET localhost:9200/_cat/health?v

epoch: 时间戳的 Unix 时间戳格式,表示快照生成的时间。
timestamp: 可读性更强的时间戳格式,表示快照生成的时间(08:06:34)。
cluster: Elasticsearch 集群的名称,这里是 “es-cluster”。
status: 集群的健康状态,这里是 “yellow”。Elasticsearch 集群状态通常有三种:green(绿色,健康),yellow(黄色,部分健康),red(红色,不健康)。“yellow” 状态表示集群中的某些副本不可用,但主分片是可用的。
node.total: 集群中节点的总数,这里是 1 个节点。
node.data: 充当数据节点的节点数,这里是 1 个节点。
shards: 集群中分片的总数,这里是 98 个分片。
pri: 主分片(primary shard)的数量,这里是 98 个主分片。
relo: 正在进行重新定位的分片数量,这里是 0。
init: 初始化的分片数量,这里是 0。
unassign: 未分配的分片数量,这里是 27。
pending_tasks: 挂起的任务数,这里是 0。
max_task_wait_time: 最大任务等待时间,这里是没有具体数值。
active_shards_percent: 活动分片的百分比,这里是 78.4%。这表示在集群中,有 78.4% 的分片是活动的,而剩下的可能是不可用或者正在恢复的。

查看es节点信息

curl -X GET localhost:9200/_cat/nodes?v

ip: 节点的IP地址,这里是"192.168.52.11"。
heap.percent: 节点的堆内存使用百分比,这里是67%。
ram.percent: 节点的系统内存使用百分比,这里是98%。
cpu: 节点的CPU使用率,这里是10%。
load_1m: 1分钟负载平均值,这里是0.69。
load_5m: 5分钟负载平均值,这里是0.36。
load_15m: 15分钟负载平均值,这里是0.50。
node.role: 节点的角色,这里是"“,表示这是一个主节点(master node)。
master: 指示该节点是否是主节点,这里是”
“,表示它是主节点。
name: 节点的名称,这里是"node-1”。

查看es指定节点信息

curl -X GET localhost:9200/_nodes/node-1?pretty=true

4. 索引

查看es中所有的索引

curl -X GET localhost:9200/_cat/indices?v

health: 索引的健康状态,这里是 “yellow”。Elasticsearch 索引的健康状态有三种:green(绿色,健康),yellow(黄色,部分健康),red(红色,不健康)。“yellow” 状态表示索引的某些分片处于未分配状态,但主分片是可用的。
status: 索引的状态,这里是 “open”。这表示索引处于打开状态,可以进行读取和写入操作。
index: 索引的名称,这里是 “nginx-access-log-2023.09.13”。
uuid: 索引的唯一标识符。
pri: 主分片(primary shard)的数量,这里是 1 个主分片。
rep: 副本分片(replica shard)的数量,这里也是 1 个副本分片。
docs.count: 索引中文档的总数,这里是 20。
docs.deleted: 索引中已删除的文档数量,这里是 0。
store.size: 索引的存储大小,这里是 34.1KB。
pri.store.size: 主分片的存储大小,这里也是 34.1KB。

创建索引

curl -X PUT localhost:9200/索引名字

查询索引

curl -X GET localhost:9200/索引名字

删除索引

curl -X DELETE localhost:9200/索引名字

更新索引

覆盖更新
curl -X DELETE localhost:9200/索引名字
局部更新
# 追加新增字段
POST /data/_bulk
{"update":{"_id":"1"}}
{"doc":{"title":"this is java and elasticsearch blog"}}

聚合分析

分组 count

在这里插入图片描述
用字符串分组需要指定fileddate=true
在这里插入图片描述

条件判断

在这里插入图片描述
平均数,求和

4. es的扩容实现

垂直扩容:节点扩容
水平扩容:添加新节点
水平扩容用的比较多

5. 常见报错

点击跳转

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/412939.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式——1_5 享元(Flyweight)

今人不见古时月,今月曾经照古人 ——李白 文章目录 定义图纸一个例子:可以复用的样式表绘制表格降本增效?第一步,先分析 变化和不变的地方第二步,把变化和不变的地方拆开来第三步:有没有办法共享这些内容完…

Android Studio下载及安装和Gradle的配置(非常详细)从零基础入门到精通,看完这一篇就够了

文章目录 下载安装修改Sdk的位置创建项目修改Gradle的位置查看AS版本工具栏–View项工具栏–Build下的功能说明Build Variants视图说明下载模拟器(avd)/安卓虚拟设备 屏幕熄灭功能关闭虚拟设备功能删除自己开发的应用软件将开发的应用运行到虚拟设备上。…

高精度AGV小车N/S极磁条导航传感器CNS-MGS-080N参数配置操作方法

高精度AGV小车N/S极磁条导航传感器CNS-MGS-080N主要运用于自主导航机器人、室内室外巡检机器人、自主导航运输车AGV(AGC)、自动手推车等自主导航设备,完成自主导航设备的预设运行路线检测及定位。基于预设磁轨迹的导航方式是自主移动平台如AGV、巡检机器人、无轨货架…

添加边界值分析测试用例

1.1创建项目成功后会自动生成封装好的函数,在这些封装好的函数上点击右键,添加边界值分析测试用例,如下图所示。 1.2生成的用例模版是不可以直接运行的,需要我们分别点击它们,让它们自动生成相应测试用例。如下图所示&…

跨境电商账号频繁?你的IP可能“不干净”了

疫情促进了跨境电商行业的加速发展,许多卖家也抓住了这波流量红利,跨境电商月入数万,数十万甚至数百万的造福神话也不断在上演,但由于国内外电商运营模式不同,多店运营、用户数据收集、刷单等行为都受到了国外平台的严…

【CV】使用 matplotlib.pyplot 绘制统计图、坐标系原点在不同的位置和添加辅助点和辅助线

1. 数据 这里使用模拟数据 import random import matplotlib.pyplot as pltvalues [i * random.random() for i in range(100)] values[0.0,0.2596417433881839,1.0607353016866907, ...89.24287458194097,78.48300255421442]2.坐标原点-左下角 坐标系原点在左下角&#xf…

GoZero微服务个人探究之路(零)个人对微服务产生原因的思考,对前三篇的补充

为什么产生了微服务架构--必要性 这里我觉得看GoZero作者写的博文就可以有很好的体会 具体的,他画了这一张图(以电商后台系统为例子) 所以,我个人产生了如下思考 1.业务逻辑越来越复杂,层层嵌套,分解成微…

超级详细的linux centos NFS共享服务器搭建

目录 背景说明: 1.服务端操作 1.1创建目录 1.2创建组 1.3创建用户 1.4目录授权给www:www 1.5安装nfs服务端 1.6配置权限 1.7启动服务 2.客户端操作 2.1安装软件 2.2创建目录 2.3挂载 2.4测试 2.4.1读写删除测试 2.4.1只读测试 背景说明: 看了一个帖子NFS教程,…

Nginx 优化

1、http 主体优化 高效传输模式 vim /usr/local/nginx/conf/nginx.conf http { # 媒体类型include mime.types; # 默认媒体类型足够default_type application/octet-stream; sendfile on; # 取消注释tcp_nopush on; } sendfile on 开启高效文件传输模式,sendfi…

electron+vue项目使用serialport报错Cannot read property ‘indexOf‘ of undefined解决办法

描述 使用ElectronVue项目时引入serialport串口后启动时报下面错误 Cannot read property indexOf of undefined解决方法 打开vue.config.js找到pluginOptions -> electronBuilder -> externals添加serialport module.exports {pluginOptions: {electronBuilder: {e…

基于springboot+vue的网上订餐系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

Verilog基础:强度建模(一)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 一、强度建模基础 Verilog HDL提供了针对线网信号0、1、x、z的精准强度建模方式,这样可以允许将两个线网信号进行线与操作从而更加精确地描述出硬件行…