ELK-介绍及Elasticsearch集群搭建
- ELK是三个开源软件的缩写,分别为Elasticsearch、Logstash、kibana它们都是开源软件。后来新增了一个FileBeat,它是一个轻量及的日志收集处理工具,因为Logstash由java程序开发,比较消耗内存资源,后来将Logstash使用go语言重新编译,升级为了FileBeat。
- Elasticsearch是一个基于Lucene搜索引擎的NoSql数据库,用于存储Logstash(日志管道工具)收集来的数据,最后由Kibana图形化界面工具来呈现出来,它工作在Elasticsearch之上。
- Es集群中没有中心节点,从外部来看ES集群在逻辑上是一个整体,你与任何一个节点的通信和与整个es集群通信都是等价的。
- Elasticsearch集群:
- 1)节点(node):一个节点是集群中的一台服务器,是集群的一部分。它存储数据,参与集群的索引和搜索功能。集群中有一个主节点,主节点通过ES集群内部选举产生。
- 2)集群(cluster):一组节点组织在一起称为一个集群,它们共同持有整个的数据,并一起提供索引和搜索功能。
- 3)分片(shards):ES可以把完整的索引分成多个分片,分别存储在不同的节点上。
- 4)副本(replicas):ES可以为每个分片创建副本,提高查询效率,保证在分片数据丢失后的恢复。
- 分片数量只能在索引创建时指定,索引创建后不能再更改分片数量,但可以改变副本的数量。
- 本章实验环境介绍:
- 三台服务器:
- 192.168.8.5、192.168.8.6、192.168.8.7
- elasticsearch 软件版本:6.6.0
- 开始部署:
- 三台主机分别安装es:
- 软件包下载路径:wget https://mirrors.tuna.tsinghua.edu.cn/elasticstack/6.x/yum/6.6.0/elasticsearch-6.6.0.rpm
- 安装软件包(无需依赖包):
- rpm -ivh elasticsearch-6.6.0.rpm
- elasticsearch目录和文件讲解:
- /etc/elasticsearch/elasticsearch.yml #配置文件
- /etc/elasticsearch/jvm.options #java虚拟机
- /etc/init.d/elasticsearch #服务启动脚本
- /etc/sysconfig/elasticsearch #elasticsearch服务变量
- /usr/lib/sysctl.d/elasticsearch.conf #设置elasticsearch用户使用的内存大小
- /usr/lib/systemd/system/elasticsearch.service #添加系统服务文件
- /var/log/elasticsearch/elasticsearch.log #日志文件路径
- 修改配置文件:
- vim /etc/elasticsearch/elasticsearch.yml
- 去掉以下几行前边的注释:
- node.name: node-1 #群集中本机节点名
- path.data: /data/elasticsearch #数据目录
- path.logs: /var/log/elasticsearch #日志目录
- bootstrap.memory_lock: true #锁定内存,需要和/etc/elasticsearch/jvm.options关联
- network.host: 192.168.8.10,127.0.0.1 #监听的ip地址
- http.port: 9200 #端口号
- 去掉以下几行前边的注释:
- vim /etc/elasticsearch/elasticsearch.yml
- 创建数据目录,并修改权限:
- mkdir -p /data/elasticsearch
- chown -R elasticsearch.elasticsearch /data/elasticsearch/
- 加载重启服务:
- systemctl daemon-reload
- systemctl restart elasticsearch
- 查看9200端口是否开启:
- netstat -anput | grep 9200
- 第一台部署成功后,使用浏览器下载插件访问8.5主机:
- 直接访问可以看到它的状态信息
- 下载es-head插件:GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster
- 谷歌浏览器示范:
- 谷歌-扩展程序-管理扩展程序
- 此页面代表es1 服务部署成功,现在创建索引在es1服务器上
- curl -XPUT '192.168.8.5:9200/vipinfo/users/1?pretty&pretty' -H 'Content-Type: application/json' -d '{"name": "guofucheng","age": "45","job": "mingxing"}'
- 在浏览器上查看是否有了刚才创建的索引:
- 右上方黄色代表副本不完整
- elasticsearch群集:
- 状态颜色:
- 灰色:未连接
- 绿色:数据完整态
- 黄色:副本不完整
- 红色:数据分片不完整
- 紫色:数据分片复制过程
- 群集主机角色:
- 主节点master:负责管理调度
- 工作节点: 负责处理数据
- 默认情况,所有节点都是工作节点,即主节点也处理数据
- 状态颜色:
- 右上方黄色代表副本不完整
- 谷歌-扩展程序-管理扩展程序
- 向集群中添加第二台主机:192.168.8.6
- 安装步骤与es1一样,配置文件需要修改:
- vim /etc/elasticsearch/elasticsearch.yml
- node.name: node-2
- path.data: /data/elasticsearch
- path.logs: /var/log/elasticsearch
- network.host: 192.168.8.20,127.0.0.1
- http.port: 9200
- discovery.zen.ping.unicast.hosts: ["192.168.8.6", "192.168.8.20"]
- discovery.zen.minimum_master_nodes: 2 #添加的值=节点数/2 + 1
- 创建数据目录。并修改权限:
- mkdir -p /data/elasticsearch
- chown -R elasticsearch.elasticsearch /data/elasticsearch/
- 启动服务:
- systemctl daemon-reload
- systemctl restart elasticsearch
- 查看端口:
- netstat -anput | grep 9200
- vim /etc/elasticsearch/elasticsearch.yml
- 安装步骤与es1一样,配置文件需要修改:
- 向集群中添加第三台主机:192.168.8.7
- 安装与es1一样,修改配置文件
- vim /etc/elasticsearch/elasticsearch.yml
- 修改一下的配置:
- node.name: es3
- path.data: /data/elasticsearch
- path.logs: /var/log/elasticsearch
- bootstrap.memory_lock: true
- network.host: 192.168.8.7,127.0.0.1
- http.port: 9200
- discovery.zen.ping.unicast.hosts: ["192.168.8.5", "192.168.8.7"]
- discovery.zen.minimum_master_nodes: 2
- 创建数据目录,并修改权限
- mkdir -p /data/elasticsearch
- chown -R elasticsearch.elasticsearch /data/elasticsearch/
- 重启服务:
- systemctl daemon-reload
- systemctl restart elasticsearch
- 查看端口是否存在
- netstat -anpt | grep 9200
- 再次访问8.5群集,查看是否发生了变化
-
- 常见群集管理监控命令
- (1)查看索引信息
- curl -XGET '192.168.8.5:9200/_cat/indices?pretty'
- (2)查看群集健康状态
- curl -XGET '192.168.8.5:9200/_cluster/health?pretty'
- (3)统计群集节点
- curl -XGET '192.168.8.5:9200/_cat/nodes?human&pretty'
- (4)查看群集所有节点详细信息
- curl -XGET '192.168.8.5:9200/_nodes/_all/info/jvm.process?human&pretty'
- 注意:企业环境使用脚本监控群集健康状态是否为green 或 节点数不匹配 就邮件报警
- (5)创建索引index1时,修改分片为3和副本数为2
- curl -X PUT 192.168.8.5:9200/index1 -H 'Content-Type: application/json' -d '{
- "settings" : {
- "index" : {
- "number_of_shards" : 3,
- "number_of_replicas" : 2
- }
- }
- }'
- (6)针对已有索引,可修改副本数,不可改分片数。下面语句把index1的副本数由2改为1
- curl -X PUT '192.168.8.5:9200/index1/_settings?pretty' -H 'Content-Type: application/json' -d '{
- "settings": {
- "number_of_replicas": "1"
- }
- }'
- 直接访问可以看到它的状态信息
- 三台主机分别安装es:
- 三台服务器:
相关文章:

ELK-介绍及Elasticsearch集群搭建
ELK是三个开源软件的缩写,分别为Elasticsearch、Logstash、kibana它们都是开源软件。后来新增了一个FileBeat,它是一个轻量及的日志收集处理工具,因为Logstash由java程序开发,比较消耗内存资源,后来将Logstash使用go语…...
保障数据安全,提升性能:探秘Redis AOF持久化机制在在线购物网站的应用
AOF(Append-Only File)日志介绍 Redis使用AOF持久化来保证数据的可靠性。AOF日志是一个追加写文件,记录了所有对Redis数据进行修改的命令。 AOF的常规用途 通常,人们将Redis的AOF用于将后端数据库中的数据存储在内存中…...

魔众智能AI系统v2.1.0版本支持主流大模型(讯飞星火、文心一言、通义千问、腾讯混元、Azure、MiniMax、Gemini)
支持主流大模型(讯飞星火、文心一言、通义千问、腾讯混元、Azure、MiniMax、Gemini) [新功能] 系统全局消息提示 UI 全新优化 [新功能] JS 库增加【ijs】类型字符串,支持默认可执行代码 [新功能] 分类快捷操作工具类 CategoryUtil [新功能…...
抖音视频评论区用户采集工具使用教程
抖音视频评论区用户采集工具是一款用于收集抖音视频评论区用户信息的工具。通过该工具,用户可以提取抖音视频评论区的用户昵称、评论内容、点赞数等信息,并进行数据分析和统计。该工具可以帮助用户了解抖音视频评论区的用户特点和评论趋势,提…...
c 不同类型指针的转换
int 指针与unsigned char类型指针互转 #include <stdio.h> #include <stdlib.h>int main(void){int a(0x1<<24)|(0x2<<16)|(0x3<<8)|0x4; //0x1020304printf("16进制:%x\n",a);u_int8_t *p(u_int8_t *)&a; //int指针转为unsig…...

16 PyTorch 神经网络基础【李沐动手学深度学习v2】
1. 模型构造 在构造自定义块之前,我们先回顾一下多层感知机的代码。 下面的代码生成一个网络,其中包含一个具有256个单元和ReLU激活函数的全连接隐藏层, 然后是一个具有10个隐藏单元且不带激活函数的全连接输出层。 层和块 构造单层神经网咯…...

java数据结构与算法刷题-----LeetCode216. 组合总和 III
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 解题思路 此题是77题的扩展题,仅仅加了一个条件而已&…...
vscode remote ssh 连接 ubuntu/linux报错解决方法
1、问题: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fin…...

Normalizer(归一化)和MinMaxScaler(最小-最大标准化)的区别详解
1.Normalizer(归一化)(更加推荐使用) 优点:将每个样本向量的欧几里德长度缩放为1,适用于计算样本之间的相似性。 缺点:只对每个样本的特征进行缩放,不保留原始数据的分布形状。 公式…...

覆盖element-ui的el-menu样式记录:背景图片、菜单图标、菜单高亮与鼠标悬浮高亮、调整子菜单等样式
页面中修改el-menu 设置background-color"transparent",menu菜单下的背景图片则能正常显示了 <el-menuclass"el-menu-demo"mode"horizontal"background-color"transparent"><el-menu-item index"1">…...

接口自动化测试从入门到高级实战!
接口测试背景和必要性 接口测试是测试系统组件间接口(API)的一种测试,主要用于检测内部与外部系统、内部子系统之间的交互质量,其测试重点是检查数据交换、传递的准确性,控制和交互管理过程,以及系统间相互…...

【STC8A8K64D4开发板】第2-14讲:I2C总线的应用
第2-14讲:I2C总线的应用 学习目的了解I2C总线的特点。掌握I2C地址的定义,对I2C地址要有深刻的了解,之后再看到I2C接口设备中描述的7位地址或8位地址,不会再有疑惑。掌握STC8A8K64D4系列单片机I2C的特点以及编程方法。掌握通过I2C读…...
前端框架的发展史
随着互联网技术的飞速发展和用户需求的日益增长,前端开发作为构建用户界面和交互体验的关键环节,经历了从简单到复杂、从静态到动态的演变过程。在这个过程中,前端框架作为提升开发效率和代码质量的重要工具,也经历了多个阶段的发…...
Unity Hololens2开发|(二)MRTK3导入和配置
目录 1.从 MRTK3 模板项目开始2.从新项目开始2.1 创建新的 Unity 项目2.2 使用混合现实功能工具导入所需的依赖项和 MRTK3 包2.3 打开 Unity 项目2.4 在导入后配置 MRTK 配置文件2.5 配置 OpenXR 相关设置2.6 使用模板项目资源1.从 MRTK3 模板项目开始 获取并试用 MRTK3 最简单…...

VMware下载与安装
准备一个Linux的系统,成本最低的方式就是在本地安装一台虚拟机,VMware是业界最好用的虚拟机软件之一 官网:https://www.vmware.com/ 下载页面:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html …...

9、Linux-安装JDK、Tomcat和MySql
目录 一、安装JDK 1、传输JDK文件(.tar.gz) 2、解压 3、备份环境变量 4、配置环境变量 5、重新加载环境变量 6、验证(java -version) 二、安装Tomcat 1、传输文件,解压到/usr/local 2、进入Tomcat的bin目录 …...

深度学习图像算法工程师--面试准备(2)
深度学习面试准备 深度学习图像算法工程师–面试准备(1) 深度学习图像算法工程师–面试准备(2) 文章目录 深度学习面试准备前言一、Batch Normalization(批归一化)1.1 具体步骤1.2 BN一般用在网络的哪个部分 二、Layer Normaliza…...

解锁安卓开发利器:深度探析ADB【安卓开发】
引言 在安卓开发与维护过程中,我们经常会遇到一些限制,比如无法直接访问某些系统功能,或者在某些定制系统中 受到限制 。为了解决这些问题,我们需要一种有效的工具来管理和调试安卓设备,而这时候ADB(Andro…...
【Python】FTP库的介绍及用法
目录 1、应用场景 2、FTP-标准库 1、应用场景 FTP库(ftplib)在Python中的应用场景主要包括: 文件上传和下载: 通过FTP服务器,可以提供用于上传和下载文件的功能。这在需要在服务器和客户端之间共享数据的情况下非常…...

C++——string模拟实现
前言:上篇文章我们对string类及其常用的接口方法的使用进行了分享,这篇文章将着重进行对这些常用的接口方法的内部细节进行分享和模拟实现。 目录 一.基础框架 二.遍历字符串 1.[]运算符重载 2.迭代器 3.范围for 三.常用方法 1.增加 2.删除 3.调…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...

关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...

Mysql故障排插与环境优化
前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡
何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践,很多人以为AI已经强大到不需要程序员了,其实不是,AI更加需要程序员,普通人…...
中国政务数据安全建设细化及市场需求分析
(基于新《政务数据共享条例》及相关法规) 一、引言 近年来,中国政府高度重视数字政府建设和数据要素市场化配置改革。《政务数据共享条例》(以下简称“《共享条例》”)的发布,与《中华人民共和国数据安全法》(以下简称“《数据安全法》”)、《中华人民共和国个人信息…...

轻量安全的密码管理工具Vaultwarden
一、Vaultwarden概述 Vaultwarden主要作用是提供一个自托管的密码管理器服务。它是Bitwarden密码管理器的第三方轻量版,由国外开发者在Bitwarden的基础上,采用Rust语言重写而成。 (一)Vaultwarden镜像的作用及特点 轻量级与高性…...