ELK-日志服务【es-安装使用】

目录

【1】安装-配置elasticsearch(01、02、03相同)

端口

【2】安装-配置-启动-Kibana

【3】浏览器访问测试(10.0.0.21:5601)

【4】使用kibana创建、更新、删除es索引、文档

【5】组es集群(投票选举机制)

【6】启动es

【7】验证集群是否正常

【8】使用kibana或者cerebro创建索引

【9】es-role(角色)

【10】集群分片 shard-replicas 的作用与如何使用

【11】创建索引设置为3个分片、1个副本

【12】如果后期我们增加了节点会不会提高es节点的容量?

【13】es集群的健康检测


es-01

10.0.0.21

es-02

10.0.0.22

es-03

10.0.0.23

【1】安装-配置elasticsearch(01、02、03相同)

[root@es-01 ~]# yum -y install java[root@es-01 ~]# yum -y localinstall elasticsearch-7.4.0-x86_64.rpm
[root@es-01 ~]# vim /etc/elasticsearch/jvm.options
-Xms512m
-Xmx512m[root@es-01 ~]# systemctl enable elasticsearch.service
[root@es-01 ~]# systemctl start elasticsearch.service[root@es-01 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      881/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1144/master         
tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN      2555/java           
tcp6       0      0 ::1:9200                :::*                    LISTEN      2555/java           
tcp6       0      0 127.0.0.1:9300          :::*                    LISTEN      2555/java           
tcp6       0      0 ::1:9300                :::*                    LISTEN      2555/java           
tcp6       0      0 :::22                   :::*                    LISTEN      881/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1144/master

端口

  • 9200:对外提供访问
  • 9300:集群之间通信

【2】安装-配置-启动-Kibana

[root@es-01 ~]# yum -y localinstall kibana-7.4.0-x86_64.rpm
[root@es-01 ~]# grep "^[a-Z]" /etc/kibana/kibana.yml 
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://10.0.0.21:9200"]
i18n.locale: "zh-CN"[root@es-01 ~]# systemctl enable kibana
[root@es-01 ~]# systemctl start kibana.service[root@es-01 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      881/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1144/master         
tcp        0      0 127.0.0.1:5601          0.0.0.0:*               LISTEN      2775/node           
tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN      2555/java           
tcp6       0      0 ::1:9200                :::*                    LISTEN      2555/java           
tcp6       0      0 127.0.0.1:9300          :::*                    LISTEN      2555/java           
tcp6       0      0 ::1:9300                :::*                    LISTEN      2555/java           
tcp6       0      0 :::22                   :::*                    LISTEN      881/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1144/master

【3】浏览器访问测试(10.0.0.21:5601)

【4】使用kibana创建、更新、删除es索引、文档

# 创建索引
PUT /test-01_index# 查看索引
GET _cat/indices# 删除索引
DELETE /test-01_index# 操作ES,文档Doc# 向索引中创建个文档指定ID并录入数据
PUT /test-01_index/_doc/1
{"name": "xiaoming","age": 18,"salary": 10000
} # 向索引中创建个文档不指定ID,会自动生产ID,并录入数据
POST /test-01_index/_doc
{"name": "xiaohong","age": 20,"salary": 100
} # 指定获取索引中的文档中的数据
GET /test-01_index/_doc/1# 查看索引中所有文档中的数据
GET /test-01_index/_search# 批量创建文档_doc
POST _bulk
{"index":{"_index":"tt","_id":"1"}}
{"name":"xiaoqiang","age":"18"}
{"create":{"_index":"tt","_id":"2"}}
{"name":"xiaoyue","age":"30"}
{"delete":{"_index":"tt","_id":"2"}}
{"update":{"_id":"1","_index":"tt"}}
{"doc":{"age":"20"}}# 查看文档数据
GET /tt/_doc/1# 批量查看文档
GET _mget
{"docs":[{"_index":"tt","_id":"1"},{"_index":"tt","_id":"2"}]
}

【5】组es集群(投票选举机制)

  • es-01
## 由于先前我们已经安装过es并启动,他会认为自己就是master,我们需要停止服务,并清除数据
[root@es-01 ~]# systemctl stop elasticsearch.service
[root@es-01 ~]# rm -rf /var/lib/elasticsearch/*[root@es-01 ~]# grep "^[a-Z]" /etc/elasticsearch/elasticsearch.yml 
cluster.name: my-cluster-test        # 集群名称
node.name: es-node01                 # 集群中节点名称
path.data: /var/lib/elasticsearch    # 数据存储的路径
path.logs: /var/log/elasticsearch    # 日志存储的路径
#bootstrap.memory_lock: true# 不使用swap分区
network.host: 10.0.0.21# 本机IP
http.port: 9200# 监听的端口
discovery.seed_hosts: ["10.0.0.21", "10.0.0.22","10.0.0.23"]            # 集群节点
cluster.initial_master_nodes: ["10.0.0.21", "10.0.0.22","10.0.0.23"]    # 进第一次启动es时选举
  • es-02
## 由于先前我们已经安装过es并启动,他会认为自己就是master,我们需要停止服务,并清除数据
[root@es-01 ~]# systemctl stop elasticsearch.service
[root@es-01 ~]# rm -rf /var/lib/elasticsearch/*[root@es-02 ~]# grep "^[a-Z]" /etc/elasticsearch/elasticsearch.yml 
cluster.name: my-cluster-test
node.name: es-node02
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
#bootstrap.memory_lock: true
network.host: 10.0.0.22
http.port: 9200
discovery.seed_hosts: ["10.0.0.21", "10.0.0.22","10.0.0.23"]
cluster.initial_master_nodes: ["10.0.0.21", "10.0.0.22","10.0.0.23"]
  • es-03
## 由于先前我们已经安装过es并启动,他会认为自己就是master,我们需要停止服务,并清除数据
[root@es-01 ~]# systemctl stop elasticsearch.service
[root@es-01 ~]# rm -rf /var/lib/elasticsearch/*[root@es-03 ~]# grep "^[a-Z]" /etc/elasticsearch/elasticsearch.yml 
cluster.name: my-cluster-test
node.name: es-node03
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
#bootstrap.memory_lock: true
network.host: 10.0.0.23
http.port: 9200
discovery.seed_hosts: ["10.0.0.21", "10.0.0.22","10.0.0.23"]
cluster.initial_master_nodes: ["10.0.0.21", "10.0.0.22","10.0.0.23"]

【6】启动es

[root@es-01 ~]# systemctl start elasticsearch.service
[root@es-02 ~]# systemctl start elasticsearch.service
[root@es-03 ~]# systemctl start elasticsearch.service

【7】验证集群是否正常

  • curl
[root@es-01 ~]# curl http://10.0.0.21:9200/_cat/health?v
epoch      timestamp cluster         status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1689037180 00:59:40  my-cluster-test green           3         3      0   0    0    0        0             0                  -                100.0%
  • 安装cerebro验证(端口:9000)
[root@es-01 ~]# rpm -ivh cerebro-0.8.5-1.noarch.rpm 
Preparing...                          ################################# [100%]
Creating system group: cerebro
Creating system user: cerebro in cerebro with cerebro user-daemon and shell /bin/false
Updating / installing...1:cerebro-0.8.5-1                  ################################# [100%]
Created symlink from /etc/systemd/system/multi-user.target.wants/cerebro.service to /usr/lib/systemd/system/cerebro.service.[root@es-01 ~]# vim /etc/cerebro/application.conf
data.path = "/tmp/cerebro.db"[root@es-01 ~]# systemctl start cerebro[root@es-01 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      881/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1144/master         
tcp        0      0 0.0.0.0:5601            0.0.0.0:*               LISTEN      2894/node           
tcp6       0      0 10.0.0.21:9200          :::*                    LISTEN      12790/java          
tcp6       0      0 10.0.0.21:9300          :::*                    LISTEN      12790/java          
tcp6       0      0 :::22                   :::*                    LISTEN      881/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1144/master         
tcp6       0      0 :::9000                 :::*                    LISTEN      13146/java 

【8】使用kibana或者cerebro创建索引

【9】es-role(角色)

  • Cluster State

集群相关数据,会存储到每个节点中(1、节点信息 2、索引信息)

  • Master

1、Es集群中只有一个Master节点,作用于控制整个集群

2、Master主要维护Cluster State,当有新的数据产生后,Master就会将数据同步给其他node节点

3、Master节点是通过选举产生的,可以通过node.master: ture 表示可以参与选举

4、当我们通过API创建索引 PUT /test_index ,Cluster State 就会发生变化,同步给其他节点

  • Data

存储数据的节点就是Data节点。默认节点都是data类型

当创建索引后,索引中的数据就会存储在默认节点中,能够存储数据的就是Data节点

node.master:false , node.data:true

  • Coordinating

处理请求的节点,所有节点默认,不能取消 Coordinating节点主要将请求路由到正确的节点处理,如创建索引的请求会通过coordinating路由到master节点处理

node.master:false , node.data:false

【10】集群分片 shard-replicas 的作用与如何使用

  • 增强es的高可用性

1、服务可用性

1)3个节点的情况下,允许其中1台节点出现故障

2)多节点的情况下,出现故障的节点不能超过集群的一半

2、数据可用性

1)通过副本 replication 解决,保证每个节点都有完备的数据

  • 增大es集群的容量

1、需要将数据均匀的分布在所有节点上,引入分片 share 解决

【11】创建索引设置为3个分片、1个副本

  • 使用cerebor创建方式

  • 使用kibana创建方式
PUT /test_01_index
{"settings": {"index": {"number_of_shards": 3,"number_of_replicas": 1}}
}

 

【12】如果后期我们增加了节点会不会提高es节点的容量?

1、对于以前存在的index分片,他们已经分布在3台节点上,那么我们在增加第四台节点,数据不会发生改变,之前存在的index数据也不会被分布在第四台节点上

2、之后产生的index数据分片才会在四台节点分布

【13】es集群的健康检测

  • Cluster Health 获取集群的健康状态,以下三种

1、grenn 所有主副分片都正常分片

2、yellow 主分片正常,但是副本分片未正常分配

3、red 主分片未分配,表示索引不完备,写可能出些问题(但是不能代表不能存储数据和读取数据)

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

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

相关文章

【多线程】(六)Java并发编程深度解析:常见锁策略、CAS、synchronized原理、线程安全集合类和死锁详解

文章目录 一、常见锁策略1.1 乐观锁和悲观锁1.2 读写锁1.3 重量级锁和轻量级锁1.4 自旋锁1.5 公平锁和非公平锁1.6 可重入锁和不可重入锁 二、CAS2.1 什么是CAS2.2 CAS的实现原理2.3 CAS应用2.4 ABA问题 三、synchronized原理3.1 synchronized锁的特点3.2 加锁工作过程3.3 锁消…

自动驾驶多任务框架 MultiTask V3、HybridNets和YOLOP比较

目标检测和分割是自动驾驶汽车感知系统的两个核心模块。它们应该具有高效率和低延迟,同时降低计算复杂性。目前,最常用的算法是基于深度神经网络的,这保证了高效率,但需要高性能的计算平台。 在自动驾驶汽车的场景下,大多使用的都是计算能力有限的嵌入式平台,这使得难以满…

力扣 332. 重新安排行程

一、题目描述 给你一份航线列表 tickets,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。…

计算机网络基础-OSI七层模型 和 TCP/IP四层模型的对比

OSI七层模型 和 TCP/IP四层模型的对比 OSI七层模型: 理论上的网络通信模型 记忆: (物、链、网、输、会、示、用) TCP/IP四层模型: 实际上的网络通信标准 (1) 七层网络体系结构各层的主要功能: 应用层: 最上层的&am…

Nginx配置整合:基本概念、命令、反向代理、负载均衡、动静分离、高可用

一、基本概念 1.什么是Nginx Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理server。其特点是占有内存少。并发能力强,其并发能力确实在同类型的网页server中表现较好。 http服务器 Web服务器是指驻留于因特网上某种类型计算机的程…

请问支付功能如何测试

目录 01测试思维 02支付功能的测试点 一:支付的分类: 二:功能测试 三:接口测试 四:安全测试 五:测试点 01测试思维 要分析测试点之前,我们先来梳理一下测试思维。总结来说,任…

IP首部报文字段

一、IP首部报文字段 字段如下图所示 二、每个字段的含义 版本 表示 IP 协议的版本。通信双方使用的 IP 协议版本必须一致。目前广泛使用的IP协议版本号为 4,即 IPv4 首部长度 这个字段所表示数的单位是 32 位字长(1 个 32 位字长是 4 字节&#xff0…

分布式事务 Seata

分布式事务 Seata 事务介绍分布式理论Seata 介绍Seata 部署与集成Seata TC Server 部署微服务集成 Seata XA 模式AT 模式AT 模式执行过程读写隔离写隔离读隔离 实现 AT 模式 TCC 模式TCC 模式介绍实现 TCC 模式 Saga 模式Seata 四种模式对比 事务介绍 事务(Transac…

uniapp引入echarts

作为前端在开发需求的时候经常会遇到将数据展示为图表的需求,之前一直用的HBuilder的图表插件uCharts,使用方法可以参考我的另一篇博客:uniapp 中使用图表(秋云uCharts图表组件) 但是最近发现uCharts很多功能都需要付…

Bard:一个可以描述图像的人工智能

Bard 是一个大型语言模型,可以对各种提示和问题进行交流和生成类似人类的文本。它接受了大量的文字和代码训练,可以生成文本、翻译语言、编写不同类型的创意内容,并以信息丰富的方式回答你的问题。 Bard 还可以识别图像。它可以识别图像中的…

数组的递归筛选

数组递归筛选 根据一个值筛选出来通过 includes 递归 const options [{name: "ikun",options: [{name: "YAY11",},],},{name: "YAY",}, ];function findValue(orgOptions,val) {let newArr1 []orgOptions.forEach(item>{if(item.options…

ASUS华硕无双15_K3502ZA工厂模式原装Win11恢复原厂OEM预装系统 带ASUS Recovey恢复功能

ASUS华硕无双15笔记本电脑12代Vivobook_ASUSLaptop K3502ZA出厂Windows11系统工厂包 自带恢复功能、所有驱动、出厂主题壁纸LOGO、Office办公软件、MyASUS等预装程序 所需要工具:32G或以上的U盘 文件格式:HDI,SWP,OFS,EDN,KIT,TLK多个底包 文件大小&…

leetcode 40. 组合总和 II

2023.7.19 此题为 组合总和 的升级版。本题的特殊之处在于 给定的candidates数组只一个无序且包含重复元素的数组,并且最终的解集不能包含重复的组合。 所以本题的关键在于去重。那么,此类题的去重分为两种,一种是解集内部去重,灵…

Spring Boot学习

Spring Boot 配置 同一目录下配置文件优先级:.properties > .yml > .yaml 错误:org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length 1 Caused by: java.nio.charset.MalformedInputException: Inp…

VUE- 选取本地图片,自定义裁切图片比例 vue-cropper

裁切图片,按照比例裁切,分步骤 1:el-upload选择本地图片(分选择本地和上传两步骤) 2:在on-change回调方法中拿到el-upload选中的图片,显示在vueCropper上()。 2.1&…

查看IP地址方法(电脑IP地址方法)

查看IP地址方法 如何识别win7还是win10系统? (一)Win7系统电脑导航栏如下: (二)Win10系统电脑导航栏如下: 一、win7系统查看IP地址 方法一:查看网络设置 点击电脑导航栏最右下…

react和vue2/3父子组件的双向绑定(sync、emit、v-model)

目录 Vue .sync(2.3.0) $emit (2.3后) 自定义组件的 v-model 2.2.0 v-modelemits(3.0取消了.sync) React 父组件回调函数 相关基础 框架 MVC (Model View Controller)/MVP(Model View…

STM32 Proteus仿真可设置时间红绿灯-0075

STM32 Proteus仿真可设置时间红绿灯-0075 Proteus仿真小实验: STM32 Proteus仿真可设置时间红绿灯-0075 功能: 硬件组成:STM32F103C6单片机 74HC595串入并出芯片4个2位数码管显示十字路口红绿灯时间多个按键 1.包含机动车指示灯(红、黄、…

windows安装mysql8.0.23版本成功示例-免安装

windows安装mysql8.0.23版本成功示例 一.通过mysql-installer-*.msi安装包的方式1.安装准备1.1 官网下载地址1.2 选择合适的版本点击下载 2.安装mysql 二.通过mysql-8.0.23-winx64.zip免安装方式-推荐1.安装准备1.1 下载官网压缩包1.2 解压后配置文件my.ini信息1.3 配置my.ini …

STM32MP157驱动开发——按键驱动(查询方式)

文章目录 概述APP 读取按键的 4 种方法查询方式休眠-唤醒方式poll 方式异步通知方式 查询方式的按键驱动程序(框架)按键驱动编写思路board_xxx.cbutton_drv.cbutton_drv.hbutton_test.cMakefile编译测试 查询方式的按键驱动程序(stm32mp157)board_stm32m…